- 1 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 22:13:58.98 ID:9/te2eSJ0.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 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
- 358 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 23:47:39.35 ID:U4YZHGfl0.net]
- >0クリア
つ ゼロレジスタ
- 359 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 00:03:47.54 ID:a2p+alti0.net]
- 1 bit づつじわじわシフトするなら何とかなるんだけどな。
https://paiza.io/projects/D9KFwMa77ifp6AOgAaO2PQ
- 360 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 05:55:47.17 ID:jel/5KgH0.net]
- 定数リテラルにullって使ってなくてもだいじょうぶなんだっけ?
- 361 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:12:18.84 ID:Z1L9sOVC0.net]
- >>343
xor は少サイクルなのが利点ですね。
- 362 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:08:59.94 ID:qojMr6PP0.net]
- アセンブリコードの0にする方法はxorやのう
- 363 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:24:16.81 ID:+HpaswK40.net]
- CPU依存すぎる
- 364 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:47:45.54 ID:f+B2oLbA0.net]
- Z80時代の爺だろ、放置してやれ
- 365 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 14:18:47.85 ID:J/EnQN8G0.net]
- パチンコ屋さん
- 366 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 15:25:43.76 ID:ps/htySn0.net]
- 今じゃ乗除演算さえワンサイクルの時代に何アホな話してんだ?
- 367 名前:デフォルトの名無しさん [2018/03/10(土) 16:20:41.72 ID:HvD6qwC3a.net]
- アセンブラについてはどうしても自分でアセンブリ言語で書かねばならない事態に陥らない限り書くことはないだろうなあ。
- 368 名前: mailto:sage [2018/03/10(土) 16:50:09.76 ID:+Ww908Qw0.net]
- >>354
そうそう、printf デバッグでは力不足でもう否が応でも gdb に行くのを逃げ回っているのと同じです
- 369 名前:デフォルトの名無しさん [2018/03/10(土) 17:18:49.50 ID:a2p+alti0.net]
- gdb は普通に使うなあ。
- 370 名前:デフォルトの名無しさん [2018/03/10(土) 17:35:13.89 ID:5pXC+BOTF.net]
- printfなめたらいかん
- 371 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 17:41:43.93 ID:ps/htySn0.net]
- 割り込みん中でprintf使って暴走してデバッグが出来なかった思い出。
- 372 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:10:52.64 ID:a2p+alti0.net]
- 俺はシグナルハンドラの中でログ出力しようとして FILE * 経由で fprintf() 等で出力したら
そのライブラリの中でデッドロックしてハマった。 kill -ABRT で core dump させて gdb で core ファイルと共に読ませてようやっと停止箇所がわかった。
- 373 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 20:11:43.97 ID:fNi+2/6HM.net]
- gdbマスターしてからprintデバッグバカにしてたけど
printデバッグ自動化してからprintデバッグ信者になった 無論レアケースデバッグはgdb使うけどね
- 374 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 01:20:23.17 ID:ry5KQfC80.net]
- printf() をデバッグで使う時はバッファリングを考慮していないとハマる事がある。
それと stdout と stderr と両方に出る可能性がある場合にその順序が食い違う可能性もある。 シグナルハンドラ内やマルチスレッドプログラムで使ってうまく行かない事もある。 その辺を全て考慮するならいいだろうが、しかし、それなら初めからログファイルに出力される ように作った方が良いような気もする。
- 375 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 02:00:44.19 ID:22CnVBlaM.net]
- printデバッグなら専用モジュール作るべきだな
俺は時刻、関数名、コンテキストIDを付けて 標準出力かファイルにはかせてる
- 376 名前:デフォルトの名無しさん [2018/03/11(日) 09:19:44.59 ID:zWe+i43K0.net]
- そこまでするならsyslog
- 377 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 10:20:33.73 ID:szqHStkk0.net]
- >>361
setvbuf忘れなければ済む話だよパパ
- 378 名前:デフォルトの名無しさん [2018/03/11(日) 14:10:54.85 ID:ry5KQfC80.net]
- >>363
そだねー >>364 本当にそれだけで大丈夫かね? この頃のライブラリは多分マルチスレッドでもちゃんと動くように内部でロック掛けている部分があると 思うんだけどね、例えばシグナルハンドラの中でそのロックを掛けている最中にまたシグナルが来て 同じシグナルハンドラに入ると同じロックを掛けようとしてデッドロックするなんてことが起こり得ると 思うんだが。(まあその程度のことでデッドロックしてしまうこと自体がバグかも知れんが。それ以前に シグナルハンドラの中でprintf()は使うなって話でもあるか…)。
- 379 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 15:06:05.16 ID:szqHStkk0.net]
- >>365
ロケールがCならprintfだってスレッドセーフだしぎりぎりシグナルセーフだよパパ
- 380 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 15:33:10.91 ID:UYIqocxw0.net]
- 世の中には完全なCライブラリを実装していないタイニーなマシン用のサブセットだってあるんだよ坊や。
- 381 名前:デフォルトの名無しさん [2018/03/11(日) 16:08:45.67 ID:sEfAJdP70.net]
- それはCじゃないから、このスレで話し合っても無駄では。
- 382 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 16:12:01.01 ID:UYIqocxw0.net]
- Cは言語仕様であって、ライブラリ仕様は別枠だろ?
- 383 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 16:46:35.93 ID:iUqzSqql0.net]
- 30年以上前だったかな、あるメーカーのプリンタファーム開発用Cコンパイラが配列要素上限が255だった
当時アスキーネットでこれを聞いたvoid氏が呆れていたようだ。
- 384 名前:デフォルトの名無しさん [2018/03/11(日) 17:10:10.38 ID:sEfAJdP70.net]
- インストラクションに8ビットまでの即値を組み込めるなら、その制限によって(そのような最適化が必要なプロセッサにとって)強烈な最適化をかけられるから、アリやナシやと問われればアリのような感がある。
- 385 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 17:20:27.39 ID:Dtt3qpb50.net]
- Cライクって言っときゃいいのにCと名乗ってしまうから
イチャモンつけたいヤツの標的になる
- 386 名前:デフォルトの名無しさん [2018/03/11(日) 17:33:57.41 ID:sEfAJdP70.net]
- 本場ドイツ直輸入ポークソーセージを買ったら魚肉ソーセージだったような感じですね。
つまり詐欺です。
- 387 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 17:36:14.99 ID:szqHStkk0.net]
- >>369
それ言ったらバッファリングの話題もCの話にならないだろぉオヤジィ
- 388 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 17:37:59.08 ID:iUqzSqql0.net]
- 何が正当な教義かについて議論したければ、上級者スレでやってね
- 389 名前:デフォルトの名無しさん [2018/03/11(日) 18:04:00.35 ID:sEfAJdP70.net]
- こういう掲示板で宗教対決を規制したら過疎化するんじゃないだろか。
- 390 名前:デフォルトの名無しさん [2018/03/11(日) 18:26:39.19 .net]
- >>370
まるでUvaみたいな制限だな(藁
- 391 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 18:45:46.67 ID:QedwXA9H0.net]
- >>366
マルチスレッド版のライブラリーがあるかと 行出力中にスレッドが切り替わらない
- 392 名前:デフォルトの名無しさん mailto:sage釣堀 [2018/03/11(日) 18:48:04.93 ID:QedwXA9H0.net]
- >>374
なお初代K&Rにはライブラリーの仕様は含まれない。 WhiteSmithとかはprintfが実装されてない
- 393 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 20:24:48.92 ID:1mhcZmSWa.net]
- >>372
セントロニクス
- 394 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 21:13:40.31 ID:Dtt3qpb50.net]
- 5Vシングルエンドがそのままコネクタに出てるアレか
アレを基板に直付けするアフォが多くて頭クラクラした
- 395 名前:デフォルトの名無しさん [2018/03/11(日) 23:26:14.78 ID:3FTmPjnp0.net]
- for(i=0;i<10;i++)
scanf("%d",&num[i]) で入力した変数がiに入ってしまうことがあるのですがなぜですか?
- 396 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 23:59:04.31 ID:Sn9rQkOCM.net]
- numのサイズが10ないとか。
- 397 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 00:02:45.79 ID:9wDOvV2B0.net]
- ソース全部晒せ
- 398 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 07:51:36.03 ID:6B2Hj+UH0.net]
- do whileはいらない子?
- 399 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 08:04:24.78 ID:uoSNo/WDM.net]
- アルゴリズムによってはdo whileの方が素直なときがある。まれだが。マクロを本当の関数っぽく使うのにdo while (0)使うハックがある。まれだが。
コンパイラによってはdo whileの方が速いコード出す。まれだが。
- 400 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 08:36:16.07 ID:SpziwmuNM.net]
- >>370
プリンタっつーてもピンキリだからなぁ レシートプリンタとかならその程度で充分かもしれん
- 401 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 09:25:52.84 ID:kO6Vn+sG0.net]
- >>385
んなこたーない whileのほうが使用頻度は高いけど 本質的に後判定なロジックはそんなに珍しくもない
- 402 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 09:30:32.07 ID:Cd8AY8RG0.net]
- do〜whileは、必ず一回は処理してくれるから便利。
- 403 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 09:31:53.62 ID:kO6Vn+sG0.net]
- 繰り返し対象処理が実行される条件がブレるから気をつけないといけないけどね
- 404 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 10:16:52.94 ID:Igle62xq0.net]
- do{continue;}while(false); で無限ループになるのウケる。
- 405 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 10:19:34.77 ID:kO6Vn+sG0.net]
- 391 error: undeclared symbol 'false'
- 406 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 10:42:19.80 ID:wLVR4ID4a.net]
- >>389
女に見習わせたいな
- 407 名前:デフォルトの名無しさん [2018/03/12(月) 12:03:54.32 ID:A4+OWJSs0.net]
- こんな書き方たまにする
do{ ・・・ 条件 break; ・・・ 条件 break; ・・・ 条件 continue; ・・・ 条件 break; ・・・ 条件 continue; ・・・ }while(0);
- 408 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 12:10:22.44 ID:rLGzoMUT0.net]
- >>387
一応汎用のレーザープリンターなんだ 30年って一寸行き過ぎだな 95が出てきた頃だから、20年前か
- 409 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 12:11:48.84 ID:Igle62xq0.net]
- >>394
GOTOを怖がるな。 俺は反GOTO教は抜けた。 まぁ乱用しようとも思わんけど。 >>392 文脈で察してくれ。 boolはいったことだし。
- 410 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 15:52:19.83 ID:bCYSOHOV0.net]
- B 判定 A B 判定 A B … みたいに
do { } while () のブロックの途中に飛び込んで開始するようなのが悩ましい goto ENTER; do { A(); ENTER: B(); } while(条件);
- 411 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 17:04:49.51 ID:Ro63JAiYH.net]
- 出口が複数は可だけどエントリーポイントが変なとこにあるのは読みにくいからやめたほうがいい。
この例の場合はB Aの無限ループにして、Bのあとの条件で脱出するのが定石。
- 412 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 17:15:21.51 ID:bCYSOHOV0.net]
- for(;;) {
B(); if (条件) break; A(); }; こんな感じですか。 やっぱり頭から入っていくほうが読みやすいし…
- 413 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 17:24:28.52 ID:rLGzoMUT0.net]
- 処理内容がそうならそういうことなんだろうが、
見ていて気持ちが悪くなるロジックだな、すまん
- 414 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 17:31:42.39 ID:kO6Vn+sG0.net]
- エントリーポイントが変なとこって、mainだって1行目にはまずならないしな
実装されることなく廃止になったキーワードにentryつーのがあって そいつがおそらくは1行目に entry main; とか持ってこれるようにするつもりだったのかもな
- 415 名前:デフォルトの名無しさん [2018/03/12(月) 17:41:10.71 ID:mlDQMbRTa.net]
- >>397
昔の BASIC を思い起こさせる goto の使い方だなw
- 416 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 17:58:00.69 ID:DBOT0xK9M.net]
- gotoは禁止はしないが、異常系の終了処理にジャンプするパターンだけ許容だな。
- 417 名前:デフォルトの名無しさん [2018/03/12(月) 18:04:50.67 ID:FajbO2mAF.net]
- exceptionさえあれば
- 418 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 18:06:32.58 ID:bCYSOHOV0.net]
- コンストラクター/デストラクターのような機構があれば
異常時の後始末は割と楽に書けるっすね
- 419 名前:デフォルトの名無しさん [2018/03/12(月) 18:09:46.06 ID:FajbO2mAF.net]
- atexit()はあるぞ
- 420 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 18:2
]
- [ここ壊れてます]
- 421 名前:5:47.87 ID:rLGzoMUT0.net mailto: 異常の場合は,例外処理をしてから続行したい []
- [ここ壊れてます]
- 422 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/12(月) 19:11:12.71 ID:HQXq1VOq0.net]
- つ setjmp
- 423 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 19:32:23.64 ID:6OIrRNruM.net]
- >>408
volatileをつけ忘れて最適化で暴走するなんてよくあること。
- 424 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 20:42:20.27 ID:SpziwmuNM.net]
- >>395
1995年頃でLBPだと16bitから32bit CPUに移行する頃だから配列サイズが最大255なんて言うのはさすがに見たことないわ ちなみにうちはSH-2+独自モニタからR3000+VxWorksへの移行期だった コンパイラもチップベンダーかOSベンダーのものを使ってた
- 425 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 21:14:21.91 ID:hz29p2j/p.net]
- gotoを後始末以外の使い方して変な所に飛ばしたりするから禁止って言われるんだよな。
- 426 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 22:09:38.43 ID:kO6Vn+sG0.net]
- 昔のBASICにはON ERROR GOTOとかON ERROR GOSUBつーのがあって
異常系から復帰できたんだよな、それがCやC++にはない
- 427 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 22:12:32.16 ID:rLGzoMUT0.net]
- setjmp longjmp
- 428 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 22:16:55.21 ID:kO6Vn+sG0.net]
- RESUME NEXTに相当する処理はsetjmp.hにはない
- 429 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 23:49:45.06 ID:+NwoaeJY0.net]
- gfortranで言うところのfcheck=allを設定した時のように配列の範囲外アクセスを検知したいのですが、いい方法はありますか?
- 430 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/13(火) 00:26:13.95 ID:zisSqBer0.net]
- boundschecker 使えばよろし
- 431 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 00:43:16.47 ID:LMrPxj1+0.net]
- Linuxなので代用を探していたらvalgrindに辿り着きました
ありがとうございます
- 432 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 03:11:31.37 ID:a0aOTtHi0.net]
- 大域ジャンプはダメだ。
- 433 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 07:50:52.88 ID:H/7hRIr60.net]
- 初期化
タイトル ... GOTO 本編 GAME OVER ... GOTO タイトル ゲーム本編 ... GOTO GAME OVER
- 434 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 08:44:52.34 ID:a0aOTtHi0.net]
- >>419
よくあるダメなゴトーさん。
- 435 名前:デフォルトの名無しさん [2018/03/13(火) 10:00:11.49 ID:mZm9h8PZa.net]
- >>412
まあ、ないけど、エラーになったら自分でif文使って分岐すれば良いだけでは? C言語は単に言語レベルでのそういう便利機能が少ないってだけで実現する方法は内部的な動作まで考えたら結局は同じにしかならんと思うよ、
- 436 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 10:29:21.12 ID:FbdkMN9Up.net]
- C言語はマクロアセンブラから派生した感じなんで、言語体系はお世話にも良いとは言えないんだよな。
当時はマシン語で演算結果フラグで条件ジャンプや条件コールしてた煩わしさから開放されただけでも有り難かったんだ。 そんなチープな言語にオブジェクト指向だの例外処理だのとか求めて迷走したのがC++ ええい、いっそ作り直してしまえって出したのがJavaやC# だからC言語使う時点で諦めれ。
- 437 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 11:04:12.06 ID:92t/zLSk0.net]
- >>421
そのif文でゴチャゴチャしだしたら「例外処理」を名乗れない
- 438 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 11:54:23.49 ID:a0aOTtHi0.net]
- 基本的にウオーターフォールを守るのが大事やな。
そのうえでどこに飛びたいかって感じ。
- 439 名前:デフォルトの名無しさん [2018/03/13(火) 12:12:14.52 .net]
- フォールウオーバー機構を言語レベルで用意すべき
- 440 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 12:16:24.04 ID:a0aOTtHi0.net]
- https://www.google.co.jp/search?q=%E3%82%A6%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%80%80%E6%84%8F%E5%91%B3&
ウオーバーってなんぞ?
- 441 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 12:26:22.54 ID:CTGLDN6cM.net]
- 漢字で書くと闘婆
- 442 名前:デフォルトの名無しさん [2018/03/13(火) 13:00:28.5
]
- [ここ壊れてます]
- 443 名前:6 ID:5qOlO1LIa.net mailto: >>423
名乗らんでいいのでは? Cが不便なら他の言語使えばいいじゃない。 [] - [ここ壊れてます]
- 444 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 13:12:03.18 ID:92t/zLSk0.net]
- >>428
ああ、議論できないのね いいよ話さなくて
- 445 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/13(火) 13:20:12.96 ID:lXm9DcKjM.net]
- SIGUSR1/2じゃ駄目なのか?
- 446 名前:デフォルトの名無しさん [2018/03/13(火) 15:58:05.78 ID:LC30GjQRa.net]
- >>429
議論?何の?新言語の?
- 447 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 16:39:07.67 ID:92t/zLSk0.net]
- >>431
いいよ、無理に話さなくて
- 448 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 19:35:09.64 ID:WMMjj2eHM.net]
- 聞く耳持たんらC
- 449 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 20:04:26.12 ID:/ChP+Vc3M.net]
- 突っ込まれて遁走だろ w
- 450 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 02:09:35.30 ID:IiyiuIPr0.net]
- ここで幾ら議論してもC言語は変わらない。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
- 451 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 06:44:38.33 ID:4nqAllCK0.net]
- おまえさあCの例外処理が言語のビルトインとか思っているわけ?
Cは変わらないとか言っちゃってるけど、 その現状のCがわかってないのに変わったかどうか気付けるのか?
- 452 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 07:02:59.95 ID:M7iHvccR0.net]
- 一応errnoだったかっていう、失敗理由を示す変数がある事はある。忘れられてるけど。
C言語で唯一トラブルシューティングに使える変数。
- 453 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:03:51.30 ID:ylQhqnt4M.net]
- >>436
> その現状のCがわかってないのに お前だけだろ w >>437 ライブラリレベルの話を入れるかどうかは悩ましいな 普通の言語なら入れなくてもいいと思うがC言語にはsetjmp/longjmpなんて言うとんでもないものもあるからなぁ
- 454 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:15:23.77 ID:4nqAllCK0.net]
- errnoだってwww あれが例外処理なのか
setjmpがどうとんでもないのか具体的には言えないんだろうな だから聞かない
- 455 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:25:02.15 ID:M7iHvccR0.net]
- >>439
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。 まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。 古き良き-1やら_boolであきらめる方が精神的には良い。 んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。 エラー系は大体ロジックエラーだからデバッグで落とす。
- 456 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:29:46.90 ID:ylQhqnt4M.net]
- >>439
> setjmpがどうとんでもないのか具体的には言えないんだろうな 他の言語でライブラリレベルで実装してる例はないから まともな頭があれば理解できるはず
- 457 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:31:33.24 ID:6wuH32OAd.net]
- 高級アセンブラの名前は伊達ではないよね。
- 458 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:32:17.72 ID:M7iHvccR0.net]
- あれジャンプじゃなくて、スタックロールバックだからな。どっちかっていうとリセットの類。
他の言語でこれは実装できない。というかやりたくはないだろう。
|

|