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
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9381-qput)
2018/02/19(月) 22:13:58.98ID:9/te2eSJ0337デフォルトの名無しさん (ブーイモ MMd6-7yGo)
2018/03/09(金) 18:10:27.57ID:Z9n7UPH0M C11の6.5.7の3より。
If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined.
If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined.
338332 (ワッチョイ fb93-ao9L)
2018/03/09(金) 20:12:23.00ID:er4JdT2d0 >>337 フォローありがとう。この部分ですわ。
6.5.7 Bitwise shift operators ビットシフト演算子 の項。
もしも右オペランドの値が負、または汎整数拡張後の左オペランドの(ビット)幅より
大きいか等しい場合、振る舞いは未定義である。
と言った感じかな。
promoted left operand の部分が「汎整数拡張後の左オペランド」で
合ってるのか自信ないけど。
6.5.7 Bitwise shift operators ビットシフト演算子 の項。
もしも右オペランドの値が負、または汎整数拡張後の左オペランドの(ビット)幅より
大きいか等しい場合、振る舞いは未定義である。
と言った感じかな。
promoted left operand の部分が「汎整数拡張後の左オペランド」で
合ってるのか自信ないけど。
339デフォルトの名無しさん (ワッチョイ 6a80-csLy)
2018/03/09(金) 21:17:55.13ID:ysNVe5/v0 64bit 符号なしを、64bit シフトするって、そもそも無意味だろ
元のビットが残っていない。
全部のビットが変わっている!
意味があるのは、63bit まで
元のビットが残っていない。
全部のビットが変わっている!
意味があるのは、63bit まで
340デフォルトの名無しさん
2018/03/09(金) 22:22:53.87 >>339
0になってくれれば余計な分岐やら演算やらを省けるかもしれないだろ
0になってくれれば余計な分岐やら演算やらを省けるかもしれないだろ
341デフォルトの名無しさん (ワッチョイ be81-6YPG)
2018/03/09(金) 22:57:22.97ID:dpc+cSNT0 0クリアする最適な方法なの?
342デフォルトの名無しさん (ワッチョイ 6a80-csLy)
2018/03/09(金) 23:23:40.83ID:ysNVe5/v0 1010 XOR
1010
----
0000
n は任意のビットで、n XOR n で、全ビット0にできる
1010
----
0000
n は任意のビットで、n XOR n で、全ビット0にできる
343デフォルトの名無しさん
2018/03/09(金) 23:25:22.45 >>342
そんなん全ビット読まなきゃいけないじゃん
そんなん全ビット読まなきゃいけないじゃん
344デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/09(金) 23:29:26.36ID:9IZd/e860 n and 030 とかで任意ビットのonはわからないか?
345デフォルトの名無しさん (ワッチョイ 4a5d-uQtz)
2018/03/09(金) 23:47:39.35ID:U4YZHGfl0 >0クリア
つ ゼロレジスタ
つ ゼロレジスタ
346デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/10(土) 00:03:47.54ID:a2p+alti0 1 bit づつじわじわシフトするなら何とかなるんだけどな。
https://paiza.io/projects/D9KFwMa77ifp6AOgAaO2PQ
https://paiza.io/projects/D9KFwMa77ifp6AOgAaO2PQ
347デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/10(土) 05:55:47.17ID:jel/5KgH0 定数リテラルにullって使ってなくてもだいじょうぶなんだっけ?
348デフォルトの名無しさん (ワッチョイ 3fac-3aOH)
2018/03/10(土) 12:12:18.84ID:Z1L9sOVC0 >>343
xor は少サイクルなのが利点ですね。
xor は少サイクルなのが利点ですね。
349デフォルトの名無しさん (ワッチョイ 7361-0aB1)
2018/03/10(土) 13:08:59.94ID:qojMr6PP0 アセンブリコードの0にする方法はxorやのう
350デフォルトの名無しさん (ワッチョイ 1780-7yGo)
2018/03/10(土) 13:24:16.81ID:+HpaswK40 CPU依存すぎる
351デフォルトの名無しさん (ワッチョイ 6ab3-3fsH)
2018/03/10(土) 13:47:45.54ID:f+B2oLbA0 Z80時代の爺だろ、放置してやれ
352デフォルトの名無しさん (ワッチョイ be81-6YPG)
2018/03/10(土) 14:18:47.85ID:J/EnQN8G0 パチンコ屋さん
353デフォルトの名無しさん (ワッチョイ 6baa-Y2nf)
2018/03/10(土) 15:25:43.76ID:ps/htySn0 今じゃ乗除演算さえワンサイクルの時代に何アホな話してんだ?
354デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/10(土) 16:20:41.72ID:HvD6qwC3a アセンブラについてはどうしても自分でアセンブリ言語で書かねばならない事態に陥らない限り書くことはないだろうなあ。
>>354
そうそう、printf デバッグでは力不足でもう否が応でも gdb に行くのを逃げ回っているのと同じです
そうそう、printf デバッグでは力不足でもう否が応でも gdb に行くのを逃げ回っているのと同じです
356デフォルトの名無しさん (ワッチョイ 0b9f-RK0z)
2018/03/10(土) 17:18:49.50ID:a2p+alti0 gdb は普通に使うなあ。
357デフォルトの名無しさん (アウウィフ FF1f-0aB1)
2018/03/10(土) 17:35:13.89ID:5pXC+BOTF printfなめたらいかん
358デフォルトの名無しさん (ワッチョイ 6baa-Y2nf)
2018/03/10(土) 17:41:43.93ID:ps/htySn0 割り込みん中でprintf使って暴走してデバッグが出来なかった思い出。
359デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/10(土) 18:10:52.64ID:a2p+alti0 俺はシグナルハンドラの中でログ出力しようとして FILE * 経由で fprintf() 等で出力したら
そのライブラリの中でデッドロックしてハマった。 kill -ABRT で core dump させて gdb
で core ファイルと共に読ませてようやっと停止箇所がわかった。
そのライブラリの中でデッドロックしてハマった。 kill -ABRT で core dump させて gdb
で core ファイルと共に読ませてようやっと停止箇所がわかった。
360デフォルトの名無しさん (ブーイモ MMd6-KXGk)
2018/03/10(土) 20:11:43.97ID:fNi+2/6HM gdbマスターしてからprintデバッグバカにしてたけど
printデバッグ自動化してからprintデバッグ信者になった
無論レアケースデバッグはgdb使うけどね
printデバッグ自動化してからprintデバッグ信者になった
無論レアケースデバッグはgdb使うけどね
361デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/11(日) 01:20:23.17ID:ry5KQfC80 printf() をデバッグで使う時はバッファリングを考慮していないとハマる事がある。
それと stdout と stderr と両方に出る可能性がある場合にその順序が食い違う可能性もある。
シグナルハンドラ内やマルチスレッドプログラムで使ってうまく行かない事もある。
その辺を全て考慮するならいいだろうが、しかし、それなら初めからログファイルに出力される
ように作った方が良いような気もする。
それと stdout と stderr と両方に出る可能性がある場合にその順序が食い違う可能性もある。
シグナルハンドラ内やマルチスレッドプログラムで使ってうまく行かない事もある。
その辺を全て考慮するならいいだろうが、しかし、それなら初めからログファイルに出力される
ように作った方が良いような気もする。
362デフォルトの名無しさん (ブーイモ MMd6-KXGk)
2018/03/11(日) 02:00:44.19ID:22CnVBlaM printデバッグなら専用モジュール作るべきだな
俺は時刻、関数名、コンテキストIDを付けて
標準出力かファイルにはかせてる
俺は時刻、関数名、コンテキストIDを付けて
標準出力かファイルにはかせてる
363デフォルトの名無しさん (ワッチョイ 8f23-0aB1)
2018/03/11(日) 09:19:44.59ID:zWe+i43K0 そこまでするならsyslog
364デフォルトの名無しさん (ワッチョイ 2e23-uQtz)
2018/03/11(日) 10:20:33.73ID:szqHStkk0 >>361
setvbuf忘れなければ済む話だよパパ
setvbuf忘れなければ済む話だよパパ
365デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/11(日) 14:10:54.85ID:ry5KQfC80366デフォルトの名無しさん (ワッチョイ 2e23-uQtz)
2018/03/11(日) 15:06:05.16ID:szqHStkk0 >>365
ロケールがCならprintfだってスレッドセーフだしぎりぎりシグナルセーフだよパパ
ロケールがCならprintfだってスレッドセーフだしぎりぎりシグナルセーフだよパパ
367デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/11(日) 15:33:10.91ID:UYIqocxw0 世の中には完全なCライブラリを実装していないタイニーなマシン用のサブセットだってあるんだよ坊や。
368デフォルトの名無しさん (ワッチョイ 23b3-lJdD)
2018/03/11(日) 16:08:45.67ID:sEfAJdP70 それはCじゃないから、このスレで話し合っても無駄では。
369デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/11(日) 16:12:01.01ID:UYIqocxw0 Cは言語仕様であって、ライブラリ仕様は別枠だろ?
370デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/11(日) 16:46:35.93ID:iUqzSqql0 30年以上前だったかな、あるメーカーのプリンタファーム開発用Cコンパイラが配列要素上限が255だった
当時アスキーネットでこれを聞いたvoid氏が呆れていたようだ。
当時アスキーネットでこれを聞いたvoid氏が呆れていたようだ。
371デフォルトの名無しさん (ワッチョイ 23b3-lJdD)
2018/03/11(日) 17:10:10.38ID:sEfAJdP70 インストラクションに8ビットまでの即値を組み込めるなら、その制限によって(そのような最適化が必要なプロセッサにとって)強烈な最適化をかけられるから、アリやナシやと問われればアリのような感がある。
372デフォルトの名無しさん (ワッチョイ 7e32-uQtz)
2018/03/11(日) 17:20:27.39ID:Dtt3qpb50 Cライクって言っときゃいいのにCと名乗ってしまうから
イチャモンつけたいヤツの標的になる
イチャモンつけたいヤツの標的になる
373デフォルトの名無しさん (ワッチョイ 23b3-lJdD)
2018/03/11(日) 17:33:57.41ID:sEfAJdP70 本場ドイツ直輸入ポークソーセージを買ったら魚肉ソーセージだったような感じですね。
つまり詐欺です。
つまり詐欺です。
374デフォルトの名無しさん (ワッチョイ 2e23-uQtz)
2018/03/11(日) 17:36:14.99ID:szqHStkk0 >>369
それ言ったらバッファリングの話題もCの話にならないだろぉオヤジィ
それ言ったらバッファリングの話題もCの話にならないだろぉオヤジィ
375デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/11(日) 17:37:59.08ID:iUqzSqql0 何が正当な教義かについて議論したければ、上級者スレでやってね
376デフォルトの名無しさん (ワッチョイ 23b3-lJdD)
2018/03/11(日) 18:04:00.35ID:sEfAJdP70 こういう掲示板で宗教対決を規制したら過疎化するんじゃないだろか。
377デフォルトの名無しさん
2018/03/11(日) 18:26:39.19 >>370
まるでUvaみたいな制限だな(藁
まるでUvaみたいな制限だな(藁
378デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/11(日) 18:45:46.67ID:QedwXA9H0379デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/11(日) 18:48:04.93ID:QedwXA9H0380デフォルトの名無しさん (アウアウエー Sae2-0aB1)
2018/03/11(日) 20:24:48.92ID:1mhcZmSWa >>372
セントロニクス
セントロニクス
381デフォルトの名無しさん (ワッチョイ 7e32-uQtz)
2018/03/11(日) 21:13:40.31ID:Dtt3qpb50 5Vシングルエンドがそのままコネクタに出てるアレか
アレを基板に直付けするアフォが多くて頭クラクラした
アレを基板に直付けするアフォが多くて頭クラクラした
382デフォルトの名無しさん (ワッチョイ 6ac6-lLam)
2018/03/11(日) 23:26:14.78ID:3FTmPjnp0 for(i=0;i<10;i++)
scanf("%d",&num[i])
で入力した変数がiに入ってしまうことがあるのですがなぜですか?
scanf("%d",&num[i])
で入力した変数がiに入ってしまうことがあるのですがなぜですか?
383デフォルトの名無しさん (ブーイモ MM97-7yGo)
2018/03/11(日) 23:59:04.31ID:Sn9rQkOCM numのサイズが10ないとか。
384デフォルトの名無しさん (ワッチョイ eae3-hn8E)
2018/03/12(月) 00:02:45.79ID:9wDOvV2B0 ソース全部晒せ
385デフォルトの名無しさん (ワッチョイ 26e7-Osi7)
2018/03/12(月) 07:51:36.03ID:6B2Hj+UH0 do whileはいらない子?
386デフォルトの名無しさん (ブーイモ MM97-7yGo)
2018/03/12(月) 08:04:24.78ID:uoSNo/WDM アルゴリズムによってはdo whileの方が素直なときがある。まれだが。マクロを本当の関数っぽく使うのにdo while (0)使うハックがある。まれだが。
コンパイラによってはdo whileの方が速いコード出す。まれだが。
コンパイラによってはdo whileの方が速いコード出す。まれだが。
387デフォルトの名無しさん (ドコグロ MMbb-3fsH)
2018/03/12(月) 08:36:16.07ID:SpziwmuNM388デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 09:25:52.84ID:kO6Vn+sG0389デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/12(月) 09:30:32.07ID:Cd8AY8RG0 do〜whileは、必ず一回は処理してくれるから便利。
390デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 09:31:53.62ID:kO6Vn+sG0 繰り返し対象処理が実行される条件がブレるから気をつけないといけないけどね
391デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/12(月) 10:16:52.94ID:Igle62xq0 do{continue;}while(false); で無限ループになるのウケる。
392デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 10:19:34.77ID:kO6Vn+sG0 391 error: undeclared symbol 'false'
393デフォルトの名無しさん (アウアウウー Sa1f-whik)
2018/03/12(月) 10:42:19.80ID:wLVR4ID4a >>389
女に見習わせたいな
女に見習わせたいな
394デフォルトの名無しさん (ワッチョイ 8f23-0aB1)
2018/03/12(月) 12:03:54.32ID:A4+OWJSs0 こんな書き方たまにする
do{
・・・
条件
break;
・・・
条件
break;
・・・
条件
continue;
・・・
条件
break;
・・・
条件
continue;
・・・
}while(0);
do{
・・・
条件
break;
・・・
条件
break;
・・・
条件
continue;
・・・
条件
break;
・・・
条件
continue;
・・・
}while(0);
395デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/12(月) 12:10:22.44ID:rLGzoMUT0396デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/12(月) 12:11:48.84ID:Igle62xq0397デフォルトの名無しさん (ワッチョイ beea-mjGY)
2018/03/12(月) 15:52:19.83ID:bCYSOHOV0 B 判定 A B 判定 A B … みたいに
do { } while () のブロックの途中に飛び込んで開始するようなのが悩ましい
goto ENTER;
do {
A();
ENTER:
B();
} while(条件);
do { } while () のブロックの途中に飛び込んで開始するようなのが悩ましい
goto ENTER;
do {
A();
ENTER:
B();
} while(条件);
398デフォルトの名無しさん (JP 0H9b-7yGo)
2018/03/12(月) 17:04:49.51ID:Ro63JAiYH 出口が複数は可だけどエントリーポイントが変なとこにあるのは読みにくいからやめたほうがいい。
この例の場合はB Aの無限ループにして、Bのあとの条件で脱出するのが定石。
この例の場合はB Aの無限ループにして、Bのあとの条件で脱出するのが定石。
399デフォルトの名無しさん (ワッチョイ beea-mjGY)
2018/03/12(月) 17:15:21.51ID:bCYSOHOV0 for(;;) {
B();
if (条件) break;
A();
};
こんな感じですか。
やっぱり頭から入っていくほうが読みやすいし…
B();
if (条件) break;
A();
};
こんな感じですか。
やっぱり頭から入っていくほうが読みやすいし…
400デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/12(月) 17:24:28.52ID:rLGzoMUT0 処理内容がそうならそういうことなんだろうが、
見ていて気持ちが悪くなるロジックだな、すまん
見ていて気持ちが悪くなるロジックだな、すまん
401デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 17:31:42.39ID:kO6Vn+sG0 エントリーポイントが変なとこって、mainだって1行目にはまずならないしな
実装されることなく廃止になったキーワードにentryつーのがあって
そいつがおそらくは1行目に
entry main;
とか持ってこれるようにするつもりだったのかもな
実装されることなく廃止になったキーワードにentryつーのがあって
そいつがおそらくは1行目に
entry main;
とか持ってこれるようにするつもりだったのかもな
402デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/12(月) 17:41:10.71ID:mlDQMbRTa >>397
昔の BASIC を思い起こさせる goto の使い方だなw
昔の BASIC を思い起こさせる goto の使い方だなw
403デフォルトの名無しさん (アウーイモ MM1f-swbP)
2018/03/12(月) 17:58:00.69ID:DBOT0xK9M gotoは禁止はしないが、異常系の終了処理にジャンプするパターンだけ許容だな。
404デフォルトの名無しさん (アウウィフ FF1f-0aB1)
2018/03/12(月) 18:04:50.67ID:FajbO2mAF exceptionさえあれば
405デフォルトの名無しさん (ワッチョイ beea-mjGY)
2018/03/12(月) 18:06:32.58ID:bCYSOHOV0 コンストラクター/デストラクターのような機構があれば
異常時の後始末は割と楽に書けるっすね
異常時の後始末は割と楽に書けるっすね
406デフォルトの名無しさん (アウウィフ FF1f-0aB1)
2018/03/12(月) 18:09:46.06ID:FajbO2mAF atexit()はあるぞ
407デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/12(月) 18:25:47.87ID:rLGzoMUT0 異常の場合は,例外処理をしてから続行したい
408デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/12(月) 19:11:12.71ID:HQXq1VOq0 つ setjmp
409デフォルトの名無しさん (アウーイモ MM1f-swbP)
2018/03/12(月) 19:32:23.64ID:6OIrRNruM >>408
volatileをつけ忘れて最適化で暴走するなんてよくあること。
volatileをつけ忘れて最適化で暴走するなんてよくあること。
410デフォルトの名無しさん (ドコグロ MMbb-3fsH)
2018/03/12(月) 20:42:20.27ID:SpziwmuNM >>395
1995年頃でLBPだと16bitから32bit CPUに移行する頃だから配列サイズが最大255なんて言うのはさすがに見たことないわ
ちなみにうちはSH-2+独自モニタからR3000+VxWorksへの移行期だった
コンパイラもチップベンダーかOSベンダーのものを使ってた
1995年頃でLBPだと16bitから32bit CPUに移行する頃だから配列サイズが最大255なんて言うのはさすがに見たことないわ
ちなみにうちはSH-2+独自モニタからR3000+VxWorksへの移行期だった
コンパイラもチップベンダーかOSベンダーのものを使ってた
411デフォルトの名無しさん (ササクッテロレ Sp33-Y2nf)
2018/03/12(月) 21:14:21.91ID:hz29p2j/p gotoを後始末以外の使い方して変な所に飛ばしたりするから禁止って言われるんだよな。
412デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 22:09:38.43ID:kO6Vn+sG0 昔のBASICにはON ERROR GOTOとかON ERROR GOSUBつーのがあって
異常系から復帰できたんだよな、それがCやC++にはない
異常系から復帰できたんだよな、それがCやC++にはない
413デフォルトの名無しさん (ワッチョイ be81-uQtz)
2018/03/12(月) 22:12:32.16ID:rLGzoMUT0 setjmp longjmp
414デフォルトの名無しさん (ワッチョイ 2fe9-uQtz)
2018/03/12(月) 22:16:55.21ID:kO6Vn+sG0 RESUME NEXTに相当する処理はsetjmp.hにはない
415デフォルトの名無しさん (ワッチョイ 7ee9-NINk)
2018/03/12(月) 23:49:45.06ID:+NwoaeJY0 gfortranで言うところのfcheck=allを設定した時のように配列の範囲外アクセスを検知したいのですが、いい方法はありますか?
416デフォルトの名無しさん (ワッチョイ cf8a-GEnZ)
2018/03/13(火) 00:26:13.95ID:zisSqBer0 boundschecker 使えばよろし
417デフォルトの名無しさん (ワッチョイ 7ee9-NINk)
2018/03/13(火) 00:43:16.47ID:LMrPxj1+0 Linuxなので代用を探していたらvalgrindに辿り着きました
ありがとうございます
ありがとうございます
418デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 03:11:31.37ID:a0aOTtHi0 大域ジャンプはダメだ。
419デフォルトの名無しさん (ワッチョイ 8f61-hn8E)
2018/03/13(火) 07:50:52.88ID:H/7hRIr60 初期化
タイトル
...
GOTO 本編
GAME OVER
...
GOTO タイトル
ゲーム本編
...
GOTO GAME OVER
タイトル
...
GOTO 本編
GAME OVER
...
GOTO タイトル
ゲーム本編
...
GOTO GAME OVER
420デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 08:44:52.34ID:a0aOTtHi0 >>419
よくあるダメなゴトーさん。
よくあるダメなゴトーさん。
421デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 10:00:11.49ID:mZm9h8PZa >>412
まあ、ないけど、エラーになったら自分でif文使って分岐すれば良いだけでは?
C言語は単に言語レベルでのそういう便利機能が少ないってだけで実現する方法は内部的な動作まで考えたら結局は同じにしかならんと思うよ、
まあ、ないけど、エラーになったら自分でif文使って分岐すれば良いだけでは?
C言語は単に言語レベルでのそういう便利機能が少ないってだけで実現する方法は内部的な動作まで考えたら結局は同じにしかならんと思うよ、
422デフォルトの名無しさん (ササクッテロレ Sp33-Y2nf)
2018/03/13(火) 10:29:21.12ID:FbdkMN9Up C言語はマクロアセンブラから派生した感じなんで、言語体系はお世話にも良いとは言えないんだよな。
当時はマシン語で演算結果フラグで条件ジャンプや条件コールしてた煩わしさから開放されただけでも有り難かったんだ。
そんなチープな言語にオブジェクト指向だの例外処理だのとか求めて迷走したのがC++
ええい、いっそ作り直してしまえって出したのがJavaやC#
だからC言語使う時点で諦めれ。
当時はマシン語で演算結果フラグで条件ジャンプや条件コールしてた煩わしさから開放されただけでも有り難かったんだ。
そんなチープな言語にオブジェクト指向だの例外処理だのとか求めて迷走したのがC++
ええい、いっそ作り直してしまえって出したのがJavaやC#
だからC言語使う時点で諦めれ。
423デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 11:04:12.06ID:92t/zLSk0 >>421
そのif文でゴチャゴチャしだしたら「例外処理」を名乗れない
そのif文でゴチャゴチャしだしたら「例外処理」を名乗れない
424デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 11:54:23.49ID:a0aOTtHi0 基本的にウオーターフォールを守るのが大事やな。
そのうえでどこに飛びたいかって感じ。
そのうえでどこに飛びたいかって感じ。
425デフォルトの名無しさん
2018/03/13(火) 12:12:14.52 フォールウオーバー機構を言語レベルで用意すべき
426デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/13(火) 12:16:24.04ID:a0aOTtHi0427デフォルトの名無しさん (アウーイモ MM1f-swbP)
2018/03/13(火) 12:26:22.54ID:CTGLDN6cM 漢字で書くと闘婆
428デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 13:00:28.56ID:5qOlO1LIa429デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 13:12:03.18ID:92t/zLSk0430デフォルトの名無しさん (ワンミングク MMda-GEnZ)
2018/03/13(火) 13:20:12.96ID:lXm9DcKjM SIGUSR1/2じゃ駄目なのか?
431デフォルトの名無しさん (アウアウカー Sa7b-joIP)
2018/03/13(火) 15:58:05.78ID:LC30GjQRa >>429
議論?何の?新言語の?
議論?何の?新言語の?
432デフォルトの名無しさん (ワッチョイ cb38-uQtz)
2018/03/13(火) 16:39:07.67ID:92t/zLSk0 >>431
いいよ、無理に話さなくて
いいよ、無理に話さなくて
433デフォルトの名無しさん (ブーイモ MM3f-KXGk)
2018/03/13(火) 19:35:09.64ID:WMMjj2eHM 聞く耳持たんらC
434デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/13(火) 20:04:26.12ID:/ChP+Vc3M 突っ込まれて遁走だろ w
435デフォルトの名無しさん (ワッチョイ 0b9f-uQtz)
2018/03/14(水) 02:09:35.30ID:IiyiuIPr0 ここで幾ら議論してもC言語は変わらない。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
436デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 06:44:38.33ID:4nqAllCK0 おまえさあCの例外処理が言語のビルトインとか思っているわけ?
Cは変わらないとか言っちゃってるけど、
その現状のCがわかってないのに変わったかどうか気付けるのか?
Cは変わらないとか言っちゃってるけど、
その現状のCがわかってないのに変わったかどうか気付けるのか?
437デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 07:02:59.95ID:M7iHvccR0 一応errnoだったかっていう、失敗理由を示す変数がある事はある。忘れられてるけど。
C言語で唯一トラブルシューティングに使える変数。
C言語で唯一トラブルシューティングに使える変数。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- くそしてかがやけ
- 🎌日本の地震をお祝いします👏👏👏✨
- お茶だと思って飲んだらションベンだった
