C言語なら俺に聞け 146
■ このスレッドは過去ログ倉庫に格納されています
>>49
https://www.google.co.jp/search?q=Win32+API+入門
「Win32 API 入門」でググった一番目
手元のWindows7で確かめた範囲では、クリップボードビューアチェインがうまく動かなかった、あとは妥当なところ googleさんは同じ検索ワードの組み合わせでも
人によって結果の表示順序が違うと聞いたことがあるけど、
その紹介の仕方で大丈夫なのかしら。 Windows APIのwikipediaが表示されてる X Window System ってのもあるが・・・あまり使われないか。
まあしかしGUIの学習そのものなら話は別だが、何か実用的なプログラム作りたいのなら他の言語使った方が楽だと思うよ。 >>49
他の人も言っているが、CでGUIはやめとけ。
今現在、また今後とも、GUIをCで積極的に作る理由はない。
GUI用の言語としてオススメなのはJavaScript/HTML/CSSだ。これはほぼ間違いない。
ただし、JavaScriptはコミュニティが腐っていて、
Web情報/紙媒体その他全般的に間違いが多すぎるから、
全くの初心者が正しく学ぶのは難しい。
それでもCでGUIを学ぶよりはマシだ。
今の君には分からないだろうが、CはGUI向けの言語ではない。(変数の生存期間等が) 間違いないオススメなのか、難しいけどマシなのかハッキリしろよ
てか真面目な質問だったら可哀想だからネタ回答はやめれ >>57
JavaScript/HTML/CSSは今現在最強だ。これは否定できないし、やれば分かる。
だから、他でGUIを既に知っており、自分で組めるのなら、これでやれってこと。
ここまでは間違いない。
ただし質問者はGUIが初めてだろ。だとするとWebや文献を漁ることになるが、
JavaScriptに関しては間違った情報が多すぎるから、
少なくとも「そんなわけないだろ」と自分で見抜けないとおかしな事になる。
これもほぼ見えた展開だ。だからJavaScripterは馬鹿が再生産されまくってる。
だからGUIもJavaScriptも知らない奴がGUIをJavaScriptで始めるのは問題があり、
判断は分かれるだろう。
それでも俺はGUIをCで始めるよりはマシだろう、という判断だということ。
JavaScript自体は簡単だから、C言語を十分に使えるのなら習熟は容易い。これは事実だ。
ただ、その過程で当然ググルわけだが、
これに間違いが多すぎて、ものすごく回り道をさせられる。
それでも正しい位置に帰ってこられればいいのだが、それは間違いを見抜けるからであって、
間違いを見抜けない奴に間違った教科書を渡したら終わるだろ。
とはいえ、CのGUIなんて(当時はさておき)今から考えたら完全に間違いでしかない。
当たり前だが、GUIなんて無い時代の言語にGUIをやらせようというのは無理があるんだよ。
そしてJavaScriptは最初からGUI用の言語だから、当然相性はいい。
で、どっちを取るか?となると、
今後CのGUIなんて要らんし、JavaScriptの方がまだマシだろ、という判断。 >>59
なら突っ込めよ。
突っ込む勇気すらないのなら黙っていろ。 歴史的経緯からJavaScriptが有名だけど現在では本来の標準仕様はECMAScript
方言や派生の情報が混乱の原因
https://ja.wikipedia.org/wiki/ECMAScript そもそも「GUI勉強」が何を指してるか次第だな
Windowsアプリを作れるようになればいいだけなのか
スマホ等も含めたクロスプラットフォームな環境を考慮する必要があるのか… GUIっていっても実際の学習ではGとUに分かれてるんじゃないかなあ
手段としてはGraphicalなんだけど、本質のUser Interfaceは不変というかなんというか
C言語はGraphicalに向いている訳ではないけど、できなくもないのがコメントしにくい 人間工学まで含めて考えるなら、
例えばWeb画面レイアウトや画面遷移もそういう要素あるからなあ 組み込み機器のHMIはC言語で実装するのも珍しくないだろ
CソースはXMLから自動生成とかしてるかもだけどさ テキスト画面に表示してるけどGUIみたいなやつはあるな。BIOS画面とか。 BIOS画面でもグラフィックスの画面で本当にGUIになってるの見たことあるな。多分中にLinuxとX入れちゃってるんだろうけど。 >>68
USBマウス刺さってれば、ちゃんとポインティングしよるぜ 最近のBIOS >>70
BIOSにLinuxとかXとか言ってる奴に構うなよ >>73
その部分はBIOS画面としてしか動かんようにしてあるのでは?
必要最低限のプログラムしかないだろうし。
容量の小さいSDメモリみたいなのに入れてるだろうし。
組み込み機器みたいなものだな。 そんなこともあろうかとレスキュー用のミニBIOSが用意してある ところで元の話はなんだったっけ?
CでGUIならGTKがおすすめだっけ? パターン青です、使徒にセントラルドグマを侵食されました
自爆装置が作動します CでのGUIプログラミングは、オススメといっても人それぞれだし。
本人が興味のある手法、あるいは必要に迫らせた手法から順に
手を出してみればいいんじゃないかな Cで低レイヤーなプログラミングを学ぶように低レイヤーなGUIを学ぶならXかなぁ
実用性は皆無とこそ言わずともほぼないが 結局ろくな突っ込みねえじゃねえかよ。
・CではGUIをやらないのがオススメ
だよ。
WindowsアプリにしたければC#でフロントエンドだけ作ってCプログラムを呼べばいいだけ。
VisualStudioがこの作りだろ。
組み込み機器でネットワークありなら鯖立ててブラウザから設定してもらうのがベスト。
ルーターとか全てこれだろ。
今時ネットワークもない機器でGUIなんてほぼねえよ。
そもそもお前らがGTKもQtも使ってねえだろ。 >C#でフロントエンドだけ作ってCプログラムを呼べばいいだけ。
>VisualStudioがこの作りだろ。
そうだったのか、知らなかった。
VBで作っているのかと思ってた。 あれ、JavaScript最強とか言ってたのどうしたの? >>83
ポイントはそこじゃねえ。VisualStudio自体が何で書かれているかは知らんよ。
ただ、今時、GUIまで含めてCで書く必然性はほぼないんだよ。
保守性を上げる為にも、GUIは設定ファイルを生成し、
各種プログラムを呼び出すだけの単純なコントローラに徹するべきなんだよ。
だからこそVSは各種プログラミング言語をカバーできているのであって。 >>84
C#もGUI用言語としてはゴミだぞ。Cよりはマシだが。 >>83
普通にC++だろ
word,excelも普通にC++ ※未承認広告※
リソーエディタでさくさくGUIが作れちゃう?
今すぐ試そう。
http://katahiromz.web.fc2.com/re/ja >>82
やらないのがおススメとかどうでもいいんだよ
おススメばかりで組める世界なら苦労は無い >>91
ならまずお前がオススメを出せよ、自称苦労人さんよ。
俺なら新規で自由に選択出来るのならまずElectronを検討する。
元々のコードが相当量有るのならグダグダ言わずにそれを使うしかない。
それ以前に、お前らJavaScript/HTML/CSSを知らんだろ?
実際はさらにそれ以前で、お前らGUIなんてほぼやってないだろ?
だからそんな低レベルな突っ込みしか出来ないわけでさ。
Cが十分出来るのなら、JavaScript/HTML/CSSの習熟は簡単だ。
CのGUIなんて悲惨なコードにしかならない。
次の機会があるのなら、騙されたと思って、
ElectronからCプログラム/DLLを呼び出すのも検討に加えてみろよ。
どんだけCのGUIがゴミだったか実感出来るから。
web系()が馬鹿ばかりというのも事実だが、逆に言えば、
馬鹿でも何とかなるようにシステムが組まれてるからこそ成立してるのであって、
この意味では学ぶことも多いぞ。 Electron、少し気になって調べてみたらhello worldアプリのファイルサイズが100MB近くになるとか書いてあってワロタ
さすが最強だなw >>96
動作環境同梱だからな。
でも実際、それで問題ないからVSCodeやatomに使われてる。
しかしこのスレも本当にゴミになったな。
揚げ足取りしか出来ない馬鹿しか居ない。
文句を言う前に、まずオススメのGUIを出してみろよ。
事実として、CのGUI環境でオススメ出来る物なんて存在しないだろ。
そもそもGUIをCで書いてる奴が居ないんだから。
Electronにはそれ以外にも色々問題はある。
だからElectronが許されるかどうかは確かに問題だが、
それでもいい環境なら今現在GUIに最適なのは間違いない。 ある程度大きなツールなら問題ないだろうけど、
ちょっとしたアプリだと驚きのサイズかな
個人的にお手軽なのはC#(WinForms)で
気合入れるならC++(Win32API)だけど
オススメと言われると悩ましいな
Cはその手のには使ってない Win32APIの肥大化を危惧してCOMを使うようになったな >>97
> 文句を言う前に、まずオススメのGUIを出してみろよ。
> 事実として、CのGUI環境でオススメ出来る物なんて存在しないだろ。
お前が無視してるだけだろ w
>>>69
>> Cなら普通にgtkだろう
> そもそもGUIをCで書いてる奴が居ないんだから。
なんでこんな視野の狭い奴がこんなスレに居着いてるんだよ... こいつおそらくWin32APIで何か作ったことないんだろうな 今北。なんだこの流れ。
元をたどれば>>49がGUI未経験なのでどれを勉強すればいいか聞いてたのが始まりだよな。
おそらく49はプログラミング初心者だろうから、別にC言語を使わなきゃならないという縛りもないはずだ。
C言語スレではあるものの、サクッとGUIアプリが作れる言語を教えるというのは理にかなっていると思う。
初学者がC言語しか知らないというのも珍しいことではない。
実際、大学や高専ではいまだ最初にC言語を教える学科が多い。
だが、それはC言語を学べば他の言語を学ぶ時の学習コストが大幅に下がるというのも理由の1つとしてあると俺は思う。
ということで、このスレではおすすめのGUIフレームワークの話題が繰り広げられているみたいなのだが、
これはおそらく収拾がつかないぞ。
フレームワークの種類だって数多くあるし、言語もケースバイケースだからなぁ。
結局>>49がどういうプラットフォームでGUIアプリを作ってみたいかによるんだよ。
普段使ってるOSがWindowsかLinuxかだけでも大分違うし、
動くならWindowsだけでいいのか、できるだけクロスプラットフォームにしたいのかでも違うし。
なので、49が黙っている以上、誰もが納得する回答なんて出るわけないんだよなぁ。 C初心者です
苦Cを一通り終えたので練習問題をとこうと思っているのですが、お手頃なレベルの問題が載ってるサイトや問題集とかありますか? >>106
AIZU ONLINE JUDGE
http://judge.u-aizu.ac.jp/onlinejudge/
会員登録が必要だけど、たくさんのプログラミングの問題が載っている。
言語はC言語だけでなく様々な言語が選択可能で、
入力されたテキスト(標準入力)に対し正しい回答(標準出力)を出せればOK。
アルゴリズム力や数学力を鍛えるのには役立つだろう。
序盤は入門者・初心者向けだが、上級者向けの問題もある(というか大半が上級者向け)。 >>107
おもしろいね
わざと制限時間いっぱいメモリいっぱいを目指す大会とか楽しそう >>108
制限時間いっぱいを目指すならタイマー使えばいいし
メモリいっぱいを目指すなら配列使えばいいので大会にならなそう >>100
市販の書籍でCOMに関するいいものはありませんか?
お手持ちのものでもいいです >>107
良いサイトを教えていただきありがとございます!
サイト見るからに難しそうですが頑張ります >>106
お手軽かどうかはわからないが一応この板にはプログラミングのお題スレがある。 配列名に動詞使うのは違和感ありますか?
week_of_day = get_week_of_day[(year + year / 4 - year / 100 +
year / 400 + (13 * month + 8) / 5 + day) % 7]; char *get_week_of_day[7] = {"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"}; >>113
if (m < 3) { y--; m += 12; }
が抜けているのはまずいね あ、忘れてました
おとなしく関数化したほうがいいでしょうか? 違和感といえば week_of_day よりも day_of_week の方がよさそうな点が(以下略 >>117
恥ずかしいです。辞書を引いたら
the day of the weekですね。確かに >>101
> なんでこんな視野の狭い奴がこんなスレに居着いてるんだよ...
自己紹介乙。
お前は他言語が何も出来ないからその程度の視野なんだよ。
お前ら自身が今現在もGTKを使っててオススメだと思っているのならそれでいいが、
実際はお前らもGTKを使っておらず、それ以前に使ったこともない知ったかぶりだろ。
そういうミスリードはマジで止めろ。
Electronが生まれた理由はあるんだよ。
そして同様に、MSがMFC->Form->WPFと進化してきた理由もある。
この辺を理解出来ないのなら自分は馬鹿だと自覚して自重しろ。迷惑でしかない。 WPF止まりかー
Electron使ってるの?web系の人向けフレームワークに見えるんだけど
本当に心から最強と思ってる? >>119
普通にGTKも使ってるぞ
最近はC言語での開発は減ったけど保守とかあるしな
GUIって聞いてPCとかスマホのアプリ程度しか想像できないような知ったかには用はないからおとなしくROMっとけ 初心者がGUI勉強したいって言ったらPCやスマホのアプリ程度だと思うんだが… >>120
CXって言って欲しいのか?
>>121
保守だろ。
新規案件がない=今現在はそれを積極的に使う理由がない、だよ。
そもそも保守なら今でもMFCやらされている奴もいるだろ。 >>122
べつに>>49は初心者とは言ってないし、今時CでPCとかスマホのアプリ組もうとする奴は初心者と言うより変わりもんだろ w >>124
「初心者」とは言ってないが、
「CでGUIアプリ組む」とも言ってないぞ >>123
> 新規案件がない=今現在はそれを積極的に使う理由がない、だよ。
で、何が言いたいんだ?
消極的だろうがC言語でGUI組む話なんだから、関係ない話したいならよそへ行けよ 自分がC++の半分を理解できる知能を持たないなら、Tcl/Tkでもやっとけ とりあえず初心者向けにガイドラインを出すと、
・とにかく新しい物を使え
に尽きる。Cは歴史も長いから当然色々あるのだが、
GUIも色々試行錯誤していて、結果的に昔のは基本的にゴミだ。
当たり前だが新しい奴はいろいろ改善されているわけでね。
そして初心者なら自分で判断出来る能力はないのだから、他人の判断能力にすがれ。
これも当たり前だがみんなそれぞれの状況で「最適解だ」と考えた物を使ってる。
結果的に、割と妥当な物が採用される確率が高くなる。
んで、今時みんなWebでやってるだろ。理由は簡単、一番簡単だからだよ。
Web系()が馬鹿ばっかりなのは事実だが、
逆に言えば、本当に簡単にGUIが実現出来るからこそ、それで成り立ってる。
これは本当にJavaScript/HTML/CSSをやれば分かる。
これまでのGUIは何だったんだ?と思えるくらい間抜けなほど簡単に色々出来るから。 >>124,126
普通に読んだら>>49は初心者だよ。自分で判断する能力がないんだから。
で、そいつに「CでGUI」みたいなミスリードするな、って話だよ。 いくら説明してもダメなバカっているんだな...
スレタイ100回声に出して読んでから出直してこい 「どーしてもCでやりたいのなら○○だが……
そもそも論で、CでGUIコントロールを記述するのはめんどくせーから余所言語学んだほうが近道」 >>123
CXって何?もしかしてC++/CXのこと? >>133
とりあえずお前は何がオススメだと思っているの?
まずそれを聞こうか。 >>134
>>49の前提条件が分からないとオススメしようがないな
プログラミング未経験ならそもそもGUIの勉強の前にやることあるだろうと思うし
C言語を勉強してその延長上でかつWindowsならWin32APIでもいいだろうし >>132
とりあえずは同意だが、俺はCではGUIは学べないと思ってるんだよ。
Linusは「Cでもオブジェクト指向は出来る」と言うだろ。確かにこれも事実だが、
これは「既にオブジェクト指向を完全に理解しているから、文法サポート無しでも出来る」のであって、
「何も分かってない奴がいきなりCで出来る」ようにはならないと思うんだよ。
GUIもそうで、今現在最先端なのはJavaScript/HTML/CSSだと俺は思っているから、俺はそれを勧めてる。
それで正しいGUIが出来るようになれば、あとは昔のCのゴミみたいなGUIフレームワークでも何とかなるだろうさ。
しかしGUIのイロハも分かっていない奴に昔の=今から考えたら間違ったフレームワークでは、
間違った方向にしか進めないと思ってる。
これは逆説的だがJavaScripterがOOPを全く理解出来ていないことからも言える。
JavaScriptは全般的にOOPではないので、抽象クラスでコードを一本化ってのが割と出来ない。
PHPはもっと悲惨で、言語内に色々矛盾があるから普通にコードを書いていても躓く。
あれでは上達しないのも分かる。当然OOP(継承)の利点も理解出来ないし。
OOPと同様にGUIでド定番なのはMVCだが、逆にこれをお前らは理解してないだろ。
これも当然で、MVCなんて昔はなかったから、当然昔のGUIフレームワークは『文法的には』サポートしてない。
勿論それでもやれば出来るのだが、それは知っているからであって、知らないようでは組みようがない。
だからとりあえず今最新の物を使っておけ、というオススメになる。
少なくとも、今現在正しいとされている構成にしやすい物になってるから。 >>135
それ、普通は「逃げた」と言われるぞ。
まあいい、それでお前は今何を使っているんだ?まさかWin32APIとでも? 「逃げた」は>>134でしょ?
自分が今使ってるのはWindowsFormsを簡単なツール作成に使うくらいかな
メインはゲームなんでUIは自前 >>138
じゃあ何でFormsを勧めない?
そしてMSが何故Formsを捨てたのか理解してるか? >>138
あとついでだから聞いといてやる。
俺がCXについて「逃げた」として、お前はどう突っ込むつもりなんだ?
その話はどうあがいても本筋には繋がらないと思うが、やってみろ。 煽られても誤魔化すその姿勢は素晴らしいと思います
>>139
>>135
> >>49の前提条件が分からないとオススメしようがないな プラットフォームはWindowsって事で良いのかな?
あんまり話広げても困ると思うが もういい加減Cから離れた話になってるから、さっさと終わらせてくれ >>141
お前みたいなクソガキではないからな。
お前がWin32APIを『今』使っていてそれを勧めるのなら、それもありだろう。しかし、そうではない。
お前は今Formsを使っている。なら、それを勧めるのならそれもありだが、それもしない。
おかしいと思わないか?
Formsを使っているうちはFormsの問題に気づけない。
丁度、Cを使っている奴がCで何も問題を感じないのと同じだ。そんなもんだと思っている。
だから古いフレームワークをずっと使い続けている奴が古いのを勧めるのはあり得るし、不思議ではない。
しかし、お前はそうではない。
そりゃ単なる荒らし行為だよ。或いは構ってちゃんか? スレタイも読まずに中身のない長文書くアホが早く居なくならないかなぁ... ログ読み返して見たら最強とかオススメとか最新とかは言ってるけど
使ってるとは書いてないのな、ちょっと尊敬するわ
>>144
現行で使えるしな、条件次第では別に勧められても不思議じゃないだろ
勉強なら別に今使ってなきゃオススメ出来ないってこともないと思うし
GUI関係ないけどプログラミングの勉強にCASLとかオススメだぞ >>146
仮に俺が「使っている」と書いていたとして、どう突っ込むつもりだったんだ?
聞いておいてやる。
> GUI関係ないけどプログラミングの勉強にCASLとかオススメだぞ
ねえよ。 >>145
長文だけならまだしもその内容が間違っていたり古かったりと目も当てられん状態だしね
こういう人ってやっぱ実社会でも煙たがられてるんだろうね c言語というかwindowsAPIとかのがGUI学ぶならいいと思うが
大抵肝の部分隠蔽されてるし
cでGUI書くのがめんどくさいってなら同意できるけど ■ このスレッドは過去ログ倉庫に格納されています