2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

C言語なら俺に聞け 146

1 :デフォルトの名無しさん :2018/04/30(月) 04:47:37.50 ID:XX4FB8lc0.net
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/


C言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
-
※前スレ
C言語なら俺に聞け 145
http://mevius.5ch.net/test/read.cgi/tech/1519046038/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

2 :デフォルトの名無しさん :2018/04/30(月) 18:40:05.50 ID:NF3/uQW/a.net
1乙

3 :デフォルトの名無しさん :2018/05/01(火) 00:44:35.15 ID:+Dd51E210.net
C勉強してるんすけど、どの方面の分野で活かされそうですか

4 :デフォルトの名無しさん :2018/05/01(火) 02:49:59.77 ID:D2CDUI2h0.net
組み込み関係、OSやデバイスドライバ作成。及び昔Cで書かれたシステムのデバッグ。
その他、Linux等のUNIX系OSで小規模なツール作る時にも使うかも。

5 :デフォルトの名無しさん :2018/05/01(火) 06:35:10.72 ID:74eVqb5T0.net
もっと高級な言語を使うときに、裏で何やってるか見当がつくようになる、
というのも大きな利点かも。

Cやるならマシン語の知識も…
マシン語の前にTTL回路を…
TTLを理解するためにトランジスタ…
キリがないけどな。

6 :デフォルトの名無しさん :2018/05/01(火) 06:50:33.19 ID:FY3WOjcl0.net
>>5
アセンブラ(アセンブリ言語)ではなくてマシン語、電子回路・論理回路ではなくてTTL回路と言う所から判断して1980年代の8ビットパソコン世代かな

7 :5 :2018/05/01(火) 08:02:05.75 ID:74eVqb5T0.net
>>6 当たらずと雖も遠からず。誤差はプラマイ50年以内。

8 :デフォルトの名無しさん:2018/05/01(火) 09:19:30.14 .net
>>7
すごいね、おじいちゃん!

9 :デフォルトの名無しさん :2018/05/01(火) 14:46:07.71 ID:+Dd51E210.net
私はCを利用してでど底辺から成りあがりたいんですよ
とにかく人生を向上させたいホームレス予備軍
ツールとして今目下格闘中

10 :デフォルトの名無しさん :2018/05/01(火) 15:01:37.73 ID:FY3WOjcl0.net
実益求めるならJava かPython あたりの方が需要あると思うけどな
今やC言語は学習用の通過点か、あるいはニッチな趣味人のためのプログラム言語だよ

11 :デフォルトの名無しさん :2018/05/01(火) 17:37:53.41 ID:74eVqb5T0.net
さもなければ「Cでプログラムを組んでみせる」が持ちネタのYoutube芸人とか。
現在は何でもエンタテインメント化できる時代らしいから、演出次第だね。

今から地道にやれば学校のプログラミング教育にうまいこと乗っかって
NHK教育で番組持てるかもしれんぞ。

12 :デフォルトの名無しさん :2018/05/01(火) 18:15:30.40 ID:bK+upqA80.net
>>4
lC++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。

C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:

- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)

- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。

言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。

すべての用途にCは適切な選択である!

13 :デフォルトの名無しさん :2018/05/01(火) 21:03:14.34 ID:D2CDUI2h0.net
>>12
コピペは落ち着いてしろ。
それと Linus のメールの和訳とわかるようにした方が良かろう。

14 : :2018/05/02(水) 18:01:54.66 ID:R3g8E+PO0.net
>>13
> Linus のメールの和訳とわかるように

極上のお楽しみを自分で潰すこともないかと

15 :デフォルトの名無しさん :2018/05/02(水) 19:18:05.28 ID:intU8xfFa.net
お楽しみ?
C++信者が釣れるってこと?
この程度で釣れるかなあ?

16 :デフォルトの名無しさん :2018/05/03(木) 09:53:31.82 ID:bSsMxU7b0.net
linuxだってglibという"素敵ライブラリ"に完全依存してるけどな

17 :デフォルトの名無しさん :2018/05/03(木) 16:20:53.83 ID:ej+jV7h/M.net
glibに依存してるのはGtk+を使うGUIアプリが主でそれ以外はぼちぼちって感じだぞ

18 :デフォルトの名無しさん :2018/05/04(金) 05:33:19.95 ID:sij7cbOA0.net
glib ではなく glibc なのでは?

19 :デフォルトの名無しさん :2018/05/04(金) 05:49:32.75 ID:sij7cbOA0.net
ま、しかし、Linuxはkernelだけでその周りはGNU関係のもので埋め尽くされている。

20 :den:2018/05/11(金) 16:34:55.97 ID:pTH5Rdx3F
C言語は独学の年寄です
最近フィールドの多いCSVを使うようになり
扱いにくくて次のようなプログラム書きました。
立場上社内でも動かしていいんですが、心配もあります。
危険性、改良の余地アドバイスいただけたらと思います。
https://ideone.com/Ci7w6w

21 :デフォルトの名無しさん :2018/05/12(土) 10:50:36.15 ID:9KHqPvG60.net
>>2
2otu

22 :デフォルトの名無しさん :2018/05/12(土) 22:35:28.33 ID:PPDk2n5SM.net
LinuxカーネルだってGCC拡張が無いとコンパイル通らないだろ。

23 :デフォルトの名無しさん :2018/05/13(日) 03:30:03.29 ID:YKXy/MBP0.net
そだねー

24 :デフォルトの名無しさん :2018/05/14(月) 21:02:48.20 ID:/gxAL6M9p.net
3次元配列を動的に確保する際に、メモリ領域を連続にする以下の処理について解説をいただければと思います。
全部わからないのですが、とくに矢印のところがわかりません。
// メモリ領域が連続な2x3x4の配列
int ***d = (int***)malloc(2 * sizeof(int**));
d[0] = (int**)malloc(2 * 3 * sizeof(int*));
d[0][0] = (int*)malloc(2 * 3 * 4 * sizeof(int));
for (int i = 0; i < 2; i++) {
d[i] = d[0] + i * 3; ←不明
for (int j = 0; j < 3; j++) d[i][j] = d[0][0] + i * 3 * 4 + j * 4; ←不明
}

// 解放
free(d[0][0]);
free(d[0]);
free(d);

よろしくお願いいたします。

25 :デフォルトの名無しさん :2018/05/14(月) 23:35:56.77 ID:Tfg/PkXw0.net
>>24
その本は捨てておk

26 :デフォルトの名無しさん :2018/05/15(火) 00:01:48.63 ID:1kH4gY7r0.net
>>24
それが載っていた本の著者とタイトル教えて

27 :デフォルトの名無しさん :2018/05/15(火) 00:36:08.09 ID:7fXm/AVB0.net
>>26
個人のサイトになります。
「連続したメモリ領域を持つ多次元配列」で検索して最初に見つかるページです。

28 :片山博文MZ :2018/05/15(火) 00:47:49.82 ID:p8+U0bQkd.net
一次配列で確保して、インデックスで多次元配列のように使うのが一手かな。

int *pi = (int *)malloc(2*3*4);
#define MULTIARRAY(i0, i1, i2) \
pi[((i0) * 3 + (i1)) * 4 + (i2)]

これだと区間チェックがないから、本番ではもっと改良が必要だけど。

29 :片山博文MZ :2018/05/15(火) 00:48:58.20 ID:p8+U0bQkd.net
>>28
訂正。
int *pi = (int *)malloc(2*3*4*sizeof(int));
です。

30 :デフォルトの名無しさん :2018/05/15(火) 00:52:28.34 ID:1kH4gY7r0.net
>>27
そのサイトは酷い勘違いをしている
あるいは故意に間違えたソースを書いている

31 :片山博文MZ :2018/05/15(火) 00:53:21.99 ID:p8+U0bQkd.net
allocaが使えるなら、解放の手間も省ける。

32 :片山博文MZ :2018/05/15(火) 00:56:18.63 ID:p8+U0bQkd.net
C99なら、動的に配列サイズを指定できるから、そんな汚いコードを書く面倒は要らない。

33 :片山博文MZ :2018/05/15(火) 00:57:32.82 ID:p8+U0bQkd.net
グーグル八分やっちゃい魔性

34 :デフォルトの名無しさん :2018/05/15(火) 01:04:46.59 ID:Qrh/McUF0.net
>>27
Cでここまであからさまに間違えているのも今時珍しいが、
そもそもその程度の個人サイトなんて見る価値無いからやめとけ。

その次の検索結果の以下とか、図もあるし、その件についても解説されてるし、そっち読め。
http://www.ibe.kagoshima-u.ac.jp/edu/gengo0/p12.html

見分け方を教えておくと、
10-20行程度のソースをさも一生懸命書いた=初心者レベルと分かるだろ。
Cは歴史も長いからガチの解説サイトも大量にある。
逆に言えば、ガチで解説してないところは全部ゴミ扱いでいい。
あと、メンテされてるかも見ろ。具体的には日付な。

35 :片山博文MZ :2018/05/15(火) 01:05:40.78 ID:p8+U0bQkd.net
処理完了。皆の者、乙。

36 :片山博文MZ :2018/05/15(火) 01:11:00.87 ID:p8+U0bQkd.net
計算機の安全と、プログラマーの業務を守るための意義のある戦いであった。

37 :デフォルトの名無しさん :2018/05/15(火) 01:11:18.49 ID:7fXm/AVB0.net
>>27です。
皆さんありがとうございます。
ガチの説明が書いてあるサイトを検索してみます。教えていただいたサイトも見てみます。

38 :デフォルトの名無しさん :2018/05/15(火) 01:16:31.94 ID:Qrh/McUF0.net
>>37
33のサイトは鹿児島大学だけど、おそらく大学がいいと思うぜ。理由は以下。
・入門者のレベルに合ってる
・どこの大学にも入門講座はある
・毎年使われる=メンテされてる

まあがんばれ。

39 :デフォルトの名無しさん :2018/05/15(火) 01:45:28.10 ID:BF34cu+AM.net
大学っつうても、研究室のお遊びブログ的なのはだめだぞ

40 :片山博文MZ :2018/05/15(火) 01:48:53.87 ID:p8+U0bQkd.net
大学だってちゃんと社会貢献してる。
でも最近は高過ぎるし、多すぎる。

41 :片山博文MZ :2018/05/15(火) 01:52:58.39 ID:p8+U0bQkd.net
大学ジェノサイドを宣言します。

42 :片山博文MZ :2018/05/15(火) 01:53:28.55 ID:p8+U0bQkd.net
>>41
冗談です。

43 :片山博文MZ :2018/05/15(火) 02:03:09.54 ID:p8+U0bQkd.net
だれか来たみたい。

44 :片山博文MZ :2018/05/15(火) 02:33:11.47 ID:p8+U0bQkd.net
我が人生、フィクションの世界で生活しないといけないんだ。

45 :デフォルトの名無しさん :2018/05/15(火) 11:06:26.73 ID:S5XiWI2a0.net
ttps://stdput.com/dat/program/allocppp.zip

46 :デフォルトの名無しさん :2018/05/15(火) 11:07:56.34 ID:S5XiWI2a0.net
>>45
は自分が前に試しに書いた物

47 :20:2018/05/16(水) 20:25:53.39 ID:QJ9aLbyYD
レスないのが少しがっかり

48 :デフォルトの名無しさん :2018/05/17(木) 00:33:27.83 ID:rZP0knh60.net
>>24
一応元のサイトでやろうとしてたことだけ解説しておくと、
(int*)malloc(2 * 3 * 4 * sizeof(int));
が実際に整数値が入るメモリ領域で、このメモリ領域に
d[0][1][1] = num;
でアクセスできるようなアドレスの配列を別に malloc してる。

でも普通はこう書くと思うわ。(面倒だったので3x3x3で書いた)
int dim1[3][3][3] = {
 {{0x0000, 0x0001, 0x0002}, {0x0010, 0x0011, 0x0012}, {0x0020, 0x0021, 0x0022}},
 {{0x0100, 0x0101, 0x0102}, {0x0110, 0x0111, 0x0112}, {0x0120, 0x0121, 0x0122}},
 {{0x0200, 0x0201, 0x0202}, {0x0210, 0x0211, 0x0212}, {0x0220, 0x0221, 0x0222}},};

int *dim2 = calloc(1, sizeof(int) * 3 * 3 * 3);
for (int i = 0; i < 3; i++)
 for (int j = 0; j < 3; j++)
  for (int k = 0; k < 3; k++)
   dim2[k + j*3 + i*3*3] = i * 256 + j * 16 + k;

(gdb) p dim2
$1 = (int *) 0x602010
(gdb) x/28x 0x602010
0x602010: 0x00000000 0x00000001 0x00000002 0x00000010
0x602020: 0x00000011 0x00000012 0x00000020 0x00000021
0x602030: 0x00000022 0x00000100 0x00000101 0x00000102
0x602040: 0x00000110 0x00000111 0x00000112 0x00000120
0x602050: 0x00000121 0x00000122 0x00000200 0x00000201
0x602060: 0x00000202 0x00000210 0x00000211 0x00000212
0x602070: 0x00000220 0x00000221 0x00000222 0x00000000

49 :20:2018/05/19(土) 20:27:35.90 ID:u/9muT2Q4
拙作をオプション引き取りにし
ダブルコーション内のコンマをアンダーバーにしたく
改良しましたが
オプション引き取りに失敗しているようです。

アドバイスお願いします。
https://ideone.com/6I40bn

50 :20:2018/05/20(日) 07:48:00.54 ID:p5n594tue
49です、配列・ポインタが分かってないので、勉強しなおします。
失礼しました。

51 :デフォルトの名無しさん :2018/05/21(月) 05:05:51.70 ID:93Sw8Is1M.net
まず2次元で説明した方がいいような気がする

52 :デフォルトの名無しさん :2018/05/21(月) 05:52:43.98 ID:SySmX4Pj0.net
int (*dim2)[3][3];
これができないばかりに
アホらしい努力を・・・

53 :デフォルトの名無しさん :2018/05/21(月) 12:25:57.79 ID:zaHYspypH.net
そろそろ、GUI勉強したいんだけど
どれ覚えたほうがいいかわかりません
解説サイト知りませんか?

54 :デフォルトの名無しさん :2018/05/21(月) 12:45:27.07 ID:BZDB6VKYa.net
C言語で?

55 : :2018/05/21(月) 19:00:59.56 ID:0Qfdkh3b0.net
>>53
https://www.google.co.jp/search?q=Win32+API+入門
「Win32 API 入門」でググった一番目
手元のWindows7で確かめた範囲では、クリップボードビューアチェインがうまく動かなかった、あとは妥当なところ

56 :デフォルトの名無しさん :2018/05/21(月) 19:23:20.49 ID:gyCATXvC0.net
googleさんは同じ検索ワードの組み合わせでも
人によって結果の表示順序が違うと聞いたことがあるけど、
その紹介の仕方で大丈夫なのかしら。

57 : :2018/05/21(月) 20:06:33.73 ID:0Qfdkh3b0.net
>>56
うーん…

58 :デフォルトの名無しさん :2018/05/21(月) 20:11:38.84 ID:P8ewQ4i90.net
Windows APIのwikipediaが表示されてる

59 :デフォルトの名無しさん :2018/05/21(月) 20:39:05.84 ID:M7fGJX8za.net
X Window System ってのもあるが・・・あまり使われないか。

まあしかしGUIの学習そのものなら話は別だが、何か実用的なプログラム作りたいのなら他の言語使った方が楽だと思うよ。

60 :デフォルトの名無しさん :2018/05/21(月) 22:54:53.65 ID:3ykR0RBK0.net
>>53
他の人も言っているが、CでGUIはやめとけ。
今現在、また今後とも、GUIをCで積極的に作る理由はない。

GUI用の言語としてオススメなのはJavaScript/HTML/CSSだ。これはほぼ間違いない。
ただし、JavaScriptはコミュニティが腐っていて、
Web情報/紙媒体その他全般的に間違いが多すぎるから、
全くの初心者が正しく学ぶのは難しい。
それでもCでGUIを学ぶよりはマシだ。
今の君には分からないだろうが、CはGUI向けの言語ではない。(変数の生存期間等が)

61 :デフォルトの名無しさん :2018/05/22(火) 01:11:45.29 ID:WtATr0xJM.net
間違いないオススメなのか、難しいけどマシなのかハッキリしろよ
てか真面目な質問だったら可哀想だからネタ回答はやめれ

62 :デフォルトの名無しさん :2018/05/22(火) 01:46:17.90 ID:dh6iCve70.net
>>61
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の方がまだマシだろ、という判断。

63 :デフォルトの名無しさん :2018/05/22(火) 02:15:32.22 ID:w898UC2za.net
ツッコミどころ満載なんだが・・・

64 :デフォルトの名無しさん :2018/05/22(火) 02:34:10.26 ID:dh6iCve70.net
>>63
なら突っ込めよ。
突っ込む勇気すらないのなら黙っていろ。

65 :デフォルトの名無しさん :2018/05/22(火) 03:36:18.98 ID:VvoCofw20.net
歴史的経緯からJavaScriptが有名だけど現在では本来の標準仕様はECMAScript
方言や派生の情報が混乱の原因
https://ja.wikipedia.org/wiki/ECMAScript

66 :デフォルトの名無しさん :2018/05/22(火) 09:40:13.57 ID:QrwgoN2z0.net
そもそも「GUI勉強」が何を指してるか次第だな
Windowsアプリを作れるようになればいいだけなのか
スマホ等も含めたクロスプラットフォームな環境を考慮する必要があるのか…

67 :デフォルトの名無しさん :2018/05/22(火) 09:41:29.14 ID:NvZKtgFgd.net
人間工学の勉強から

68 :デフォルトの名無しさん :2018/05/22(火) 09:57:26.79 ID:FbkuHrezd.net
GUIっていっても実際の学習ではGとUに分かれてるんじゃないかなあ
手段としてはGraphicalなんだけど、本質のUser Interfaceは不変というかなんというか
C言語はGraphicalに向いている訳ではないけど、できなくもないのがコメントしにくい

69 :デフォルトの名無しさん :2018/05/22(火) 10:03:13.74 ID:EWE1U2i10.net
人間工学まで含めて考えるなら、
例えばWeb画面レイアウトや画面遷移もそういう要素あるからなあ

70 :デフォルトの名無しさん:2018/05/22(火) 11:58:54.60 .net
組み込み機器のHMIはC言語で実装するのも珍しくないだろ
CソースはXMLから自動生成とかしてるかもだけどさ

71 :デフォルトの名無しさん :2018/05/22(火) 12:19:16.89 ID:s7oQSYg1a.net
テキスト画面に表示してるけどGUIみたいなやつはあるな。BIOS画面とか。

72 :デフォルトの名無しさん :2018/05/22(火) 12:23:01.49 ID:s7oQSYg1a.net
BIOS画面でもグラフィックスの画面で本当にGUIになってるの見たことあるな。多分中にLinuxとX入れちゃってるんだろうけど。

73 :デフォルトの名無しさん :2018/05/22(火) 16:27:03.48 ID:2Df2QouG0.net
Cなら普通にgtkだろう
日本語でも本あるし

74 :デフォルトの名無しさん :2018/05/22(火) 17:09:57.41 ID:0kM/wJRC0.net
>>72
USBマウス刺さってれば、ちゃんとポインティングしよるぜ 最近のBIOS

75 :デフォルトの名無しさん :2018/05/22(火) 17:45:19.93 ID:LzyusK+ZM.net
>>74
BIOSにLinuxとかXとか言ってる奴に構うなよ

76 :デフォルトの名無しさん :2018/05/22(火) 18:14:47.02 ID:jJOm7blDa.net
>>75
なんで?

77 :デフォルトの名無しさん :2018/05/22(火) 18:32:15.47 ID:EWE1U2i10.net
そのままBIOS上で動かしていればOS不要だな

78 :デフォルトの名無しさん :2018/05/22(火) 18:36:15.88 ID:jJOm7blDa.net
>>77
その部分はBIOS画面としてしか動かんようにしてあるのでは?
必要最低限のプログラムしかないだろうし。
容量の小さいSDメモリみたいなのに入れてるだろうし。
組み込み機器みたいなものだな。

79 :デフォルトの名無しさん :2018/05/22(火) 19:32:38.26 ID:xB2s/DOg0.net
そしてBIOSがウィルス感染すると。

80 :デフォルトの名無しさん :2018/05/22(火) 20:05:11.55 ID:hUFcheQs0.net
そんなこともあろうかとレスキュー用のミニBIOSが用意してある

81 :デフォルトの名無しさん :2018/05/22(火) 20:22:51.24 ID:jJOm7blDa.net
ところで元の話はなんだったっけ?
CでGUIならGTKがおすすめだっけ?

82 :デフォルトの名無しさん :2018/05/22(火) 20:23:17.70 ID:EWE1U2i10.net
パターン青です、使徒にセントラルドグマを侵食されました
自爆装置が作動します

83 :デフォルトの名無しさん :2018/05/22(火) 21:41:56.59 ID:7iMo1JsI0.net
CでのGUIプログラミングは、オススメといっても人それぞれだし。
本人が興味のある手法、あるいは必要に迫らせた手法から順に
手を出してみればいいんじゃないかな

84 :デフォルトの名無しさん :2018/05/22(火) 22:39:27.93 ID:VDgucXQJd.net
Cで低レイヤーなプログラミングを学ぶように低レイヤーなGUIを学ぶならXかなぁ
実用性は皆無とこそ言わずともほぼないが

85 :デフォルトの名無しさん :2018/05/22(火) 22:53:36.42 ID:I6C5yE2aa.net
c、open gl glfw+glew
とか

86 :デフォルトの名無しさん :2018/05/22(火) 23:09:30.41 ID:dh6iCve70.net
結局ろくな突っ込みねえじゃねえかよ。

・CではGUIをやらないのがオススメ

だよ。
WindowsアプリにしたければC#でフロントエンドだけ作ってCプログラムを呼べばいいだけ。
VisualStudioがこの作りだろ。
組み込み機器でネットワークありなら鯖立ててブラウザから設定してもらうのがベスト。
ルーターとか全てこれだろ。
今時ネットワークもない機器でGUIなんてほぼねえよ。

そもそもお前らがGTKもQtも使ってねえだろ。

87 :デフォルトの名無しさん :2018/05/22(火) 23:16:53.04 ID:EWE1U2i10.net
>C#でフロントエンドだけ作ってCプログラムを呼べばいいだけ。
>VisualStudioがこの作りだろ。

そうだったのか、知らなかった。
VBで作っているのかと思ってた。

88 :デフォルトの名無しさん :2018/05/22(火) 23:36:12.88 ID:+l1sIeYUa.net
あれ、JavaScript最強とか言ってたのどうしたの?

89 :デフォルトの名無しさん :2018/05/22(火) 23:47:04.75 ID:dh6iCve70.net
>>87
ポイントはそこじゃねえ。VisualStudio自体が何で書かれているかは知らんよ。

ただ、今時、GUIまで含めてCで書く必然性はほぼないんだよ。
保守性を上げる為にも、GUIは設定ファイルを生成し、
各種プログラムを呼び出すだけの単純なコントローラに徹するべきなんだよ。
だからこそVSは各種プログラミング言語をカバーできているのであって。

90 :デフォルトの名無しさん :2018/05/22(火) 23:50:10.95 ID:dh6iCve70.net
>>88
C#もGUI用言語としてはゴミだぞ。Cよりはマシだが。

91 :デフォルトの名無しさん :2018/05/22(火) 23:54:28.08 ID:Gcdgd5MGM.net
まあお前ら口だけだしな

92 :デフォルトの名無しさん :2018/05/22(火) 23:55:54.11 ID:IBCwJBRn0.net
ぺろぺろ

93 :デフォルトの名無しさん :2018/05/23(水) 00:45:45.99 ID:QPyFSXnY0.net
>>87
普通にC++だろ
word,excelも普通にC++

94 :放置された蟻人間 :2018/05/23(水) 01:00:02.58 ID:ITuVOjj6d.net
※未承認広告※
リソーエディタでさくさくGUIが作れちゃう?
今すぐ試そう。
http://katahiromz.web.fc2.com/re/ja

95 :デフォルトの名無しさん :2018/05/23(水) 08:59:17.25 ID:t/lZ7Uw+0.net
>>86
やらないのがおススメとかどうでもいいんだよ
おススメばかりで組める世界なら苦労は無い

96 :デフォルトの名無しさん :2018/05/23(水) 09:01:01.98 ID:CpOh1zRO0.net
だな

97 :デフォルトの名無しさん :2018/05/23(水) 22:23:10.76 ID:ZyQgvcA80.net
>>95
ならまずお前がオススメを出せよ、自称苦労人さんよ。


俺なら新規で自由に選択出来るのならまずElectronを検討する。
元々のコードが相当量有るのならグダグダ言わずにそれを使うしかない。

それ以前に、お前らJavaScript/HTML/CSSを知らんだろ?
実際はさらにそれ以前で、お前らGUIなんてほぼやってないだろ?
だからそんな低レベルな突っ込みしか出来ないわけでさ。

Cが十分出来るのなら、JavaScript/HTML/CSSの習熟は簡単だ。
CのGUIなんて悲惨なコードにしかならない。
次の機会があるのなら、騙されたと思って、
ElectronからCプログラム/DLLを呼び出すのも検討に加えてみろよ。
どんだけCのGUIがゴミだったか実感出来るから。

web系()が馬鹿ばかりというのも事実だが、逆に言えば、
馬鹿でも何とかなるようにシステムが組まれてるからこそ成立してるのであって、
この意味では学ぶことも多いぞ。

98 :デフォルトの名無しさん :2018/05/23(水) 23:37:46.76 ID:ZozwcPKn0.net
(ノ∀`) アチャー

99 :デフォルトの名無しさん :2018/05/24(木) 00:55:07.41 ID:XyvIQswZ0.net
>>97
うーん・・・23点かな、赤点だよキミ

100 :デフォルトの名無しさん :2018/05/24(木) 01:27:26.00 ID:YYT9dX/p0.net
Electron、少し気になって調べてみたらhello worldアプリのファイルサイズが100MB近くになるとか書いてあってワロタ
さすが最強だなw

総レス数 1007
275 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★