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/te2eSJ0 >>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言語で唯一トラブルシューティングに使える変数。
438デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:03:51.30ID:ylQhqnt4M439デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 08:15:23.77ID:4nqAllCK0 errnoだってwww あれが例外処理なのか
setjmpがどうとんでもないのか具体的には言えないんだろうな
だから聞かない
setjmpがどうとんでもないのか具体的には言えないんだろうな
だから聞かない
440デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:25:02.15ID:M7iHvccR0 >>439
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。
古き良き-1やら_boolであきらめる方が精神的には良い。
んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。
エラー系は大体ロジックエラーだからデバッグで落とす。
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。
古き良き-1やら_boolであきらめる方が精神的には良い。
んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。
エラー系は大体ロジックエラーだからデバッグで落とす。
441デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:29:46.90ID:ylQhqnt4M442デフォルトの名無しさん (スフッ Sd8a-nIhD)
2018/03/14(水) 08:31:33.24ID:6wuH32OAd 高級アセンブラの名前は伊達ではないよね。
443デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:32:17.72ID:M7iHvccR0 あれジャンプじゃなくて、スタックロールバックだからな。どっちかっていうとリセットの類。
他の言語でこれは実装できない。というかやりたくはないだろう。
他の言語でこれは実装できない。というかやりたくはないだろう。
444デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:35:45.72ID:M7iHvccR0 大域ジャンプ+動的メモリアローケート。あぁおそろしい。
なので、大域ジャンプはやめましょう。
なので、大域ジャンプはやめましょう。
445デフォルトの名無しさん (ドコグロ MM22-3fsH)
2018/03/14(水) 08:37:30.11ID:ylQhqnt4M >>440
> 大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
それはお前の能力が足りないだけの話だろ w
> まぁ、C++の例外も大域ジャンプだし。
C++はデストラクタとかの処理も要るからライブラリレベルでは実現できない
そう言う処理を全てプログラマに押し付けられるC言語だからできるってことでもある
> 大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。
それはお前の能力が足りないだけの話だろ w
> まぁ、C++の例外も大域ジャンプだし。
C++はデストラクタとかの処理も要るからライブラリレベルでは実現できない
そう言う処理を全てプログラマに押し付けられるC言語だからできるってことでもある
446デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:41:34.04ID:M7iHvccR0447デフォルトの名無しさん (ワッチョイ fb04-Osi7)
2018/03/14(水) 08:45:22.60ID:M7iHvccR0 C++のクラス機構をライブラリで実装するときは、構文糖入れたりとか、イベントモデル入れたりとか。
エネルギーばかりかかって収穫がない。
エネルギーばかりかかって収穫がない。
448デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:25:24.96ID:ZphqLecba >>436
Cには言語レベルでの例外処理はないのでは?何のことを指してそう言っているのか?
Cには言語レベルでの例外処理はないのでは?何のことを指してそう言っているのか?
449デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/14(水) 09:28:14.80ID:ooB4nY3v0 Cにだって例外処理はある。
でもそれって、CPUの例外割り込みの事だけどね。
あー結局言語仕様じゃ無いじゃんw
でもそれって、CPUの例外割り込みの事だけどね。
あー結局言語仕様じゃ無いじゃんw
450デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:29:50.23ID:ZphqLecba >>449
ほら。ないよな?
ほら。ないよな?
451デフォルトの名無しさん (アウアウウー Sa1f-uQtz)
2018/03/14(水) 09:32:49.61ID:ZphqLecba 割り込みっていうならシグナルがあるがしかしOSの問題だよな?
てか標準じゃないか。それにシグナルのために特別な言語仕様が作られてもいない。
てか標準じゃないか。それにシグナルのために特別な言語仕様が作られてもいない。
452デフォルトの名無しさん (ワッチョイ 0bb5-Y2nf)
2018/03/14(水) 09:35:13.20ID:ooB4nY3v0 所詮Cは高級アセンブラだからなぁ
453デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 10:19:21.23ID:4nqAllCK0 >>441
現状のCの話じゃなかったのか?
なんで他の言語が出てくるんだ
俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
実装方法がとんでもないと言っているのか?
あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
現状のCの話じゃなかったのか?
なんで他の言語が出てくるんだ
俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが
実装方法がとんでもないと言っているのか?
あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
454デフォルトの名無しさん (ワッチョイ ea6e-uQtz)
2018/03/14(水) 10:20:28.21ID:4nqAllCK0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 初めて顔パックしたけど凄いなこれ
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 胃腸弱い奴は社会的弱者←ガチ
- 【🏡】岩手ビックウェーブ🏄うおおおおおおおおおおお🌊
- 千晴の住所教えてよ!
