!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
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言語なら俺に聞け 153
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0469デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/04(土) 00:47:19.29ID:qMa2xGJ10 私はいくつかコンパイラのバグを見つけたけどね
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
470デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 00:50:16.07ID:igeAmwMLM >>467
> huge ポインタがあったのはたしか MS だけだったかと
Turbo Cですらサポートされてるんだが…
https://www.drdobbs.com/using-large-arrays-in-turbo-c/184402289
> huge ポインタがあったのはたしか MS だけだったかと
Turbo Cですらサポートされてるんだが…
https://www.drdobbs.com/using-large-arrays-in-turbo-c/184402289
471デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 00:55:46.93ID:yxoY6Q+20 Internal Error って言うのを見たことはある
472デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 08:44:49.54ID:glhU6EPt0 99%もそんなアホいるのか?
コンパイラのバグを疑った場合まず最小の再現コード作るだろ
で、バグレポに条件と現象を書くわけだが
自分が悪い場合はそこで必ず気付くことになる
コンパイラのバグを疑った場合まず最小の再現コード作るだろ
で、バグレポに条件と現象を書くわけだが
自分が悪い場合はそこで必ず気付くことになる
473デフォルトの名無しさん (ワッチョイ 4bd2-bVUD)
2020/04/04(土) 09:28:47.06ID:oeIO06yp0 >コンパイラのバグだとさわぐ
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
474デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 10:12:08.70ID:o3XzX6/PM475デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 12:47:58.45ID:yxoY6Q+20 今は分からないが、20年くらい昔だと
あまりにも複雑なソースを食わせると時々発狂してたな
あまりにも複雑なソースを食わせると時々発狂してたな
476デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/04(土) 13:15:20.63ID:SI4lxjMM0 >>468
負けた。君に勝ちを譲ろう。
負けた。君に勝ちを譲ろう。
477デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 13:15:46.68ID:nDualHANd 30年前くらいじゃないか?
あまりにも複雑なソースを書くのが悪い
っていう時代
今でもあまりに複雑なソースは悪
別の意味で
あまりにも複雑なソースを書くのが悪い
っていう時代
今でもあまりに複雑なソースは悪
別の意味で
478デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 13:29:50.17ID:3Wwr2fKwM 10年くらい前でもマクロのネストが多いとかでInternalエラー吐く処理系はあったよ
本来ちゃんとエラーチェックして適切なエラーメッセージ出すべきなんだろうけどほとんどありえないような状況にどこまで対応すべきかって話はなかなか難しいものがある
まあそれと処理系のバグとは別の話だが
本来ちゃんとエラーチェックして適切なエラーメッセージ出すべきなんだろうけどほとんどありえないような状況にどこまで対応すべきかって話はなかなか難しいものがある
まあそれと処理系のバグとは別の話だが
479デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 14:50:27.38ID:glhU6EPt0480デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 15:13:09.29ID:KrNZzm/nM481デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 15:16:24.42ID:glhU6EPt0 なんか全然、噛み合ってないね
482デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 15:55:02.64ID:nDualHANd 「あまりに複雑な」
って時点で悪
やろうとしてることが複雑でも
記述を複雑にする必要は無い
って時点で悪
やろうとしてることが複雑でも
記述を複雑にする必要は無い
483デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 19:49:17.44ID:glhU6EPt0 なんだ、主観論か
484デフォルトの名無しさん (ブーイモ MM6b-eRVI)
2020/04/05(日) 00:53:15.82ID:8lfN7LOTM cでコンパイラがゲロる複雑に成るって三項演算子をネストするくらいだろ
c++はテンプレートでわりあい簡単に混乱を引き出せるけどCのメタ構築機能はゴミみたいなもんだし
c++はテンプレートでわりあい簡単に混乱を引き出せるけどCのメタ構築機能はゴミみたいなもんだし
485デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/05(日) 05:06:11.76ID:UG8XDQGA0 3項がどう結合するかを理解してないやつがオレ文法と違うって騒ぐのは
駅前で不特定多数を叱りつけている危ないオヤジと同じ
駅前で不特定多数を叱りつけている危ないオヤジと同じ
486デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:26:24.26ID:c+nOX//s0 人間にとっての複雑とコンパイラにとっての複雑化はまったく違う
演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと
3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと
3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
487デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:31:27.17ID:c+nOX//s0488デフォルトの名無しさん (ドコグロ MM71-5poS)
2020/04/05(日) 09:05:29.09ID:1wSwWGx9M >>487
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
489デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/05(日) 09:20:09.55ID:nuvXPfKL0 >>488
その表でもわざわざ欄外に注記している通り、演算子の順位だけを見ても分からないということだろう
その表でもわざわざ欄外に注記している通り、演算子の順位だけを見ても分からないということだろう
490デフォルトの名無しさん (JP 0H93-3bw/)
2020/04/05(日) 11:43:40.11ID:pjXS/HuIH 4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
491デフォルトの名無しさん (ブーイモ MMa9-eRVI)
2020/04/05(日) 13:47:36.92ID:h0VsrhLiM C/C++仕様が違うんだよね三項演算子
492デフォルトの名無しさん (ワッチョイ 234f-bVUD)
2020/04/05(日) 14:48:53.25ID:28SxhHQj0 三項演算子は優先順位よりも結合性の方がわからなくなる
493デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 14:56:50.54ID:P07lI1PFF A ? B : C;
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
495デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/05(日) 15:03:37.61ID:bk3bMB+g0 コンパイラにとって複雑というのは、構文木が深くなる、とどのつまり項の多い長い文なんじゃない?
昔のコンピュータはメモリが足りなかったから深い木は扱えなかったってことでしょ。
昔のコンピュータはメモリが足りなかったから深い木は扱えなかったってことでしょ。
496デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 15:58:31.05ID:PRah2HwrF >>494
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う
Pythonのはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う
Pythonのはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
497デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:35:26.18ID:Wi/hOB0pd >>494
それは時と場合によるのでは?
それは時と場合によるのでは?
498デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:36:57.26ID:Wi/hOB0pd >>493
改行を工夫すると見やすくなる
改行を工夫すると見やすくなる
499デフォルトの名無しさん (ワッチョイ a381-CuPJ)
2020/04/07(火) 02:00:59.45ID:52b5Xapk0 >>498
例えばどんな感じですか?
例えばどんな感じですか?
500デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:11:26.19ID:Aukj6IXD0 ? を if と同じように改行 & インデントすればいい
A ?
B ? D : E :
C ? F : G;
A
? B ? D : E
: C ? F : G;
A ?
B ? D : E :
C ? F : G;
A
? B ? D : E
: C ? F : G;
501デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:15:13.75ID:Aukj6IXD0 A ?
. . B ? D : E :
. . C ? F : G;
A
. . ? B ? D : E
. . : C ? F : G;
. . B ? D : E :
. . C ? F : G;
A
. . ? B ? D : E
. . : C ? F : G;
502デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:20:31.07ID:Aukj6IXD0503デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/07(火) 07:39:02.54ID:XHj6H39W0 なぜ素直にif文を使わないんだ
504デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 08:25:22.73ID:Aukj6IXD0 当然 if や switch caseやテーブルと使い分ける
? : が適した場合に使う
? : が適した場合に使う
505デフォルトの名無しさん (ワッチョイ 4bd2-bVUD)
2020/04/07(火) 08:57:58.17ID:w7aWdcFI0 某「省略の美学」とか言うのを売りにしてる言語に憧れてるんだろ。
506デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/07(火) 12:46:52.50ID:rrWnJIGn0 この世には括弧というものがあってだな・・・
507デフォルトの名無しさん (ワッチョイ 2379-CuPJ)
2020/04/07(火) 12:55:18.38ID:PCdj22SH0 三項演算子で処理を書くな
ただの代入にわざわざif文を使うな
ただの代入にわざわざif文を使うな
508デフォルトの名無しさん (スプッッ Sde1-ii8Z)
2020/04/07(火) 17:39:24.91ID:2Qz700Q3d 代入の右辺だけ書いただけ
処理でこんな書き方をするのは特殊な場合(競技とか)
処理でこんな書き方をするのは特殊な場合(競技とか)
509デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/07(火) 23:16:28.11ID:rrWnJIGn0 Kotlinは思い切って三項演算子なくした代わりにifを式にしちゃったよ。
他の言語からのパクリだとは思うが、val a = if (x == y) b else c のような書き方ができる。
他の言語からのパクリだとは思うが、val a = if (x == y) b else c のような書き方ができる。
>>509
lisp とか haskell とか、関数型全般はそうやりますよね…
lisp とか haskell とか、関数型全般はそうやりますよね…
511デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 02:14:53.71ID:VV8vD69L0512デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 03:26:20.58ID:5a3Kp3Hv0 >>511
ダメと言われている三項演算子を使ってません!と言えることかなw
一つあるとしたら、ネストさせたときに if ... else if ... else if ... else とできることか。
式の中に文のような表現が入る気持ち悪さがあるから、三項演算子の方がまだましな気もするが。
ダメと言われている三項演算子を使ってません!と言えることかなw
一つあるとしたら、ネストさせたときに if ... else if ... else if ... else とできることか。
式の中に文のような表現が入る気持ち悪さがあるから、三項演算子の方がまだましな気もするが。
513デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 08:02:03.15ID:VV8vD69L0514デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 09:37:01.78ID:5a3Kp3Hv0515デフォルトの名無しさん (スプッッ Sd02-aNAp)
2020/04/08(水) 12:55:24.71ID:NPiFCq9kd gotoダメとか3項演算子ダメとか
516デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/08(水) 15:40:20.61ID:s9R4Lcv40 関数呼び出しするのに、引数ではなくグローバル変数でやり取りする奴見たことある
ナイフ一本持ってジャングルの中を探検する気分になれた
ナイフ一本持ってジャングルの中を探検する気分になれた
517デフォルトの名無しさん (ワッチョイ 4fe6-PSmU)
2020/04/08(水) 16:05:35.74ID:b5xs9aHC0 gotoは例外処理とか使いどころもあるのに、大人はみんなダメと言う
518デフォルトの名無しさん (ワッチョイ 4fe6-PSmU)
2020/04/08(水) 16:06:38.12ID:b5xs9aHC0 >>516
スタック節約とかのバッドノウハウとしてはよく見る
スタック節約とかのバッドノウハウとしてはよく見る
519デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 16:12:43.67ID:zy2o7H5P0 >>516
シングルトンのクラスだと思えばそんなに変じゃないんじゃね?
シングルトンのクラスだと思えばそんなに変じゃないんじゃね?
520デフォルトの名無しさん (ワッチョイ e279-KRXG)
2020/04/08(水) 16:36:56.26ID:do2Qazkj0 >>519
シングルトンならグローバル構造体にして関数を介して読むべきだな
シングルトンならグローバル構造体にして関数を介して読むべきだな
521デフォルトの名無しさん (ワッチョイ 6746-aZ/i)
2020/04/08(水) 17:43:28.57ID:VkTQCF2n0 >>516
よくやります。君もやりたまえ。
よくやります。君もやりたまえ。
522デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 18:06:51.24ID:VV8vD69L0 関数仕様(プロトタイプ)を変えたくないとか
関数をたすさん経由するので変更が多いとか
少しでもパフォーマンスをあげたいとか
少しでもリソースをけちりたいとか
理由はいろいろとある
綺麗さよりもそういった事が重要であれば使うこともある
関数をたすさん経由するので変更が多いとか
少しでもパフォーマンスをあげたいとか
少しでもリソースをけちりたいとか
理由はいろいろとある
綺麗さよりもそういった事が重要であれば使うこともある
523デフォルトの名無しさん (ワッチョイ e279-KRXG)
2020/04/08(水) 18:20:05.30ID:do2Qazkj0 パフォーマンス改善の仕事してるけどパフォーマンスのためにグローバル変数使うとか聞いたことないわ
524デフォルトの名無しさん (ラクッペペ MM8e-12Q9)
2020/04/08(水) 19:27:06.81ID:vCaQPcU3M 井の中の蛙宣言しても意味無くない?
525デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 20:24:48.12ID:zy2o7H5P0 >>520
別に構造体にする必要は無いじゃん。
しいて言えば、引数でたらい回しにするときこそ構造体が便利で、そういうやり方になるとシングルトンというより this を明示的にやり取りする普通のオブジェクトみたいなもんじゃね。
グローバル変数でシングルトン的に実装するなら、グローバル変数を全部 static にしてソース内にスコープを絞る感じじゃね。
別に構造体にする必要は無いじゃん。
しいて言えば、引数でたらい回しにするときこそ構造体が便利で、そういうやり方になるとシングルトンというより this を明示的にやり取りする普通のオブジェクトみたいなもんじゃね。
グローバル変数でシングルトン的に実装するなら、グローバル変数を全部 static にしてソース内にスコープを絞る感じじゃね。
526デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 20:33:22.56ID:zy2o7H5P0 >>523
キャッシュにヒットしやすい配置に並べやすいとか、
引数渡しでは必要なスタックに引数を積み上げるコストを節約できるとか、
戻り値を複数貰いたい場合に余計なポインタや構造体を使う必要が無いとか、
「どの程度」はともかくいろいろありそうだけど。
キャッシュにヒットしやすい配置に並べやすいとか、
引数渡しでは必要なスタックに引数を積み上げるコストを節約できるとか、
戻り値を複数貰いたい場合に余計なポインタや構造体を使う必要が無いとか、
「どの程度」はともかくいろいろありそうだけど。
527デフォルトの名無しさん (ワッチョイ e24f-AglQ)
2020/04/08(水) 21:53:33.85ID:3lkMRJ1l0 >>516
組み込みだとよくあるよ。その方がデバッグしやすいんだと。
組み込みだとよくあるよ。その方がデバッグしやすいんだと。
528デフォルトの名無しさん (ワッチョイ 67da-RYyP)
2020/04/09(木) 02:17:55.56ID:qzPRDrss0 ICEのメモリダンプでリアルタイムに状態の変化を追跡するのに変数のアドレスがスタックを動き回られては確認しづらいので
グローバル変数で寿命を永続化してアドレスマップを固定アドレス化することはよくある
グローバル変数で寿命を永続化してアドレスマップを固定アドレス化することはよくある
529デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/09(木) 07:57:04.28ID:bPuB4yJ40 errnoの悪口?
530デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/09(木) 11:01:14.49ID:/KG6GbYC0 C言語10年ぐらいやってるけどいまだにエラー機構の正解が見えない
errno使おうかと思ってた時期もあるけど、けっきょく構造体使ってエラーハンドリングしちゃう
errno使おうかと思ってた時期もあるけど、けっきょく構造体使ってエラーハンドリングしちゃう
531デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/09(木) 11:29:30.64ID:DMgYiRAM0 >>530
グローバル変数とlongjmp
グローバル変数とlongjmp
532デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/09(木) 11:41:05.77ID:tgAP9EIB0 jmp_bufはグローバルにしちゃダメだよ
533デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/09(木) 12:28:29.74ID:/KG6GbYC0534デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/09(木) 18:27:54.57ID:TSHXR2zEM >>532
何故に?
何故に?
535デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/09(木) 21:06:08.39ID:tgAP9EIB0 >>534
例外ハンドラの階層を構成できなくなるからだ
例外ハンドラの階層を構成できなくなるからだ
536デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/09(木) 21:26:59.30ID:v8J19e77M >>535
そういうケース限定の話ということね
そういうケース限定の話ということね
537デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 06:06:54.66ID:1zuF7RzQ0 限定ってそれ以外に何を考えているんだ?
538デフォルトの名無しさん (ワッチョイ e201-Y19k)
2020/04/10(金) 09:24:51.46ID:sn6MPl7m0 全てのケースで例外は階層化しないといけないって言う病気にでも罹患してるのか?
最終手段としてトップレベルに抜けるだけにしか使わないとか普通にやると思うけど
最終手段としてトップレベルに抜けるだけにしか使わないとか普通にやると思うけど
539デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 10:17:13.27ID:1zuF7RzQ0 ああexit使うと怒られるから形を変えるってやつね
540デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 11:09:12.87ID:bV/hR7tO0 例外があったらプロセス終了ってw
別にライブラリが呼び出し元に戻る直前の手段として longjmp する場合、jmp_buf はライブラリのソース内の static なグローバル変数でもいいわけで。
グローバルにするかローカルにするかなんてその時の作りに応じて選べばいいだけで、グローバルじゃダメなんて何のルールだよって話なだけだろ。
別にライブラリが呼び出し元に戻る直前の手段として longjmp する場合、jmp_buf はライブラリのソース内の static なグローバル変数でもいいわけで。
グローバルにするかローカルにするかなんてその時の作りに応じて選べばいいだけで、グローバルじゃダメなんて何のルールだよって話なだけだろ。
541デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 12:20:25.35ID:1zuF7RzQ0 別にルールとか言ってねえぜ、勘違いすんなよ
飛ばされては困る処理はない方がレアケースで
だからグローバルはお奨めしないと助言したんだよ
飛ばされては困る処理はない方がレアケースで
だからグローバルはお奨めしないと助言したんだよ
542デフォルトの名無しさん (スップ Sd22-aNAp)
2020/04/10(金) 13:03:17.75ID:VwhukIlHd 例外発生時は自分自身にリセット要求出して割り込み禁止して無限ループ
543デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/10(金) 13:17:24.64ID:doBqOulyM544デフォルトの名無しさん (ワッチョイ 6740-MOmQ)
2020/04/10(金) 13:35:44.69ID:OARfLwlq0 long long a;
int b;
a >>= 8 * b;
‾‾‾‾‾演算のオーバーフロー
4バイトの値に演算子*を使用し、結果を8バイトの値にキャストしています。
オーバーフローを避けるため、演算子*を呼び出す前に値を幅の広い型にキャストしてください。
シフト演算でも右辺値は左辺値の型にキャストされるのですか?
int b;
a >>= 8 * b;
‾‾‾‾‾演算のオーバーフロー
4バイトの値に演算子*を使用し、結果を8バイトの値にキャストしています。
オーバーフローを避けるため、演算子*を呼び出す前に値を幅の広い型にキャストしてください。
シフト演算でも右辺値は左辺値の型にキャストされるのですか?
545デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 15:49:55.13ID:1zuF7RzQ0546デフォルトの名無しさん (ワッチョイ e201-Y19k)
2020/04/10(金) 16:27:16.96ID:sn6MPl7m0 >>545
> 例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
お前の流儀が主要とか言われても困る
> ゲロって止まるって、おまえエラーとバグを混同してるか?
文章理解力なさすぎだろw
>> 通常のエラー処理は戻り値とかでやるけど
> 俺は別に階層化の話から逸脱はしてねえぞ
飛ばされて困る処理が常に階層化されてると言うのか?
> そう思いたいのか?
お前が(あえてかどうかは知らんけど)書いてないから指摘しただけ
> 例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
お前の流儀が主要とか言われても困る
> ゲロって止まるって、おまえエラーとバグを混同してるか?
文章理解力なさすぎだろw
>> 通常のエラー処理は戻り値とかでやるけど
> 俺は別に階層化の話から逸脱はしてねえぞ
飛ばされて困る処理が常に階層化されてると言うのか?
> そう思いたいのか?
お前が(あえてかどうかは知らんけど)書いてないから指摘しただけ
547デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 17:07:36.93ID:bV/hR7tO0 >>544
32bit環境の gcc では特に何も言われないな。
32bit環境の gcc では特に何も言われないな。
548デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 17:53:11.95ID:1zuF7RzQ0 >>546
俺個人の流儀ではない
エラー処理には返却値を使う方法と例外を使う方法がある
この点はおまえ完全に間違って憶えているようだな
飛ばされて困る処理を確実に実行させるために
階層化とリスローをするんだよ
おまえ何もわかっちゃいねえな
買いかぶってた
俺個人の流儀ではない
エラー処理には返却値を使う方法と例外を使う方法がある
この点はおまえ完全に間違って憶えているようだな
飛ばされて困る処理を確実に実行させるために
階層化とリスローをするんだよ
おまえ何もわかっちゃいねえな
買いかぶってた
549デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 18:07:17.86ID:bV/hR7tO0 ごちゃごちゃ言ってるのを読む気にもならんが、結局グローバルでもいいんだろ?
階層組みたきゃそれができるように実装すりゃいいだけだよな?
的はずれなこと書くと無駄に長くなるってことが分かったな。
はいおしまい
階層組みたきゃそれができるように実装すりゃいいだけだよな?
的はずれなこと書くと無駄に長くなるってことが分かったな。
はいおしまい
550デフォルトの名無しさん (ワッチョイ 6746-aZ/i)
2020/04/10(金) 18:18:19.61ID:rT2v6YFT0 >>542
エレガントです。
エレガントです。
551デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/10(金) 18:31:37.60ID:IOulq41rM >>548
> エラー処理には返却値を使う方法と例外を使う方法がある
> この点はおまえ完全に間違って憶えているようだな
この点がどの点なのか知らんけど、主要とか言ってたのにやけにトーンダウンしたなw
> 飛ばされて困る処理を確実に実行させるために
> 階層化とリスローをするんだよ
だからそういう流儀もあるというだけの話だろ
で、お前それちゃんとやってるか?
C++みたいに例外発生時にデストラクタが呼ばれる機能がないからちゃんとやろうとするとほとんどの階層毎にsetjmpするはめになること理解してる?
> おまえ何もわかっちゃいねえな
そのまま返すよ
> 買いかぶってた
そりゃどうも、ってかお前に買いかぶられてもなw
> エラー処理には返却値を使う方法と例外を使う方法がある
> この点はおまえ完全に間違って憶えているようだな
この点がどの点なのか知らんけど、主要とか言ってたのにやけにトーンダウンしたなw
> 飛ばされて困る処理を確実に実行させるために
> 階層化とリスローをするんだよ
だからそういう流儀もあるというだけの話だろ
で、お前それちゃんとやってるか?
C++みたいに例外発生時にデストラクタが呼ばれる機能がないからちゃんとやろうとするとほとんどの階層毎にsetjmpするはめになること理解してる?
> おまえ何もわかっちゃいねえな
そのまま返すよ
> 買いかぶってた
そりゃどうも、ってかお前に買いかぶられてもなw
552デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 19:42:36.77ID:TdKXcRvJ0 C言語のスレとは思えんほど視野が狭いヤツがいるな
RAM 16バイトのCPUからスーパーコンピューターまで使われてるんだぞ
RAM 16バイトのCPUからスーパーコンピューターまで使われてるんだぞ
553デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 19:48:10.23ID:bV/hR7tO0 ケチつける意図は無いけどあんまり小規模な CPU ならアセンブラで書いちゃうかな。
>>548
>飛ばされて困る処理を確実に実行させるために
>階層化とリスローをするんだよ
例外のリスローってよくわからないんですよね
例外を食ってしまわないかぎり飛ばされることはないんだから、リスローって意味がないのでは?
それとも皆んな、例外を食い潰しまくっているのかな?
>飛ばされて困る処理を確実に実行させるために
>階層化とリスローをするんだよ
例外のリスローってよくわからないんですよね
例外を食ってしまわないかぎり飛ばされることはないんだから、リスローって意味がないのでは?
それとも皆んな、例外を食い潰しまくっているのかな?
555デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/10(金) 19:51:47.29ID:I9hTO0gF0 是非1ビットCPU用のCコンパイラを提供してください
>>555
1ビットCPU が存在するのなら作ってさしあげましょう
1ビットCPU が存在するのなら作ってさしあげましょう
557デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 20:05:04.44ID:TdKXcRvJ0 昔1bit CPUもどきがあったような
558デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 20:06:23.04ID:TdKXcRvJ0 http://www.st.rim.or.jp/~nkomatsu/motorola/MC14500.html
559デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 20:56:44.60ID:bV/hR7tO0 >>556
完成が楽しみだ
完成が楽しみだ
561デフォルトの名無しさん (ワッチョイ 2ff9-KRXG)
2020/04/10(金) 21:14:55.95ID:gFmjwv7d0 longjmpて関数の垣根を飛び越えるためのものだろ
jmp_bufをローカル変数になんて有り得なくね?
jmp_bufをローカル変数になんて有り得なくね?
562デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 21:27:53.89ID:1zuF7RzQ0563デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 21:38:00.03ID:bV/hR7tO0 >>561
setjmp と同じかより深いスコープまたはスタックフレームから戻ってくるだけだから、
setjmp の呼び出し時点で存在しているスコープであればローカルだろうとグローバルだろうと構わないよ。
setjmp と同じかより深いスコープまたはスタックフレームから戻ってくるだけだから、
setjmp の呼び出し時点で存在しているスコープであればローカルだろうとグローバルだろうと構わないよ。
564デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 21:49:38.93ID:bV/hR7tO0 補足すると、ローカル変数に置いた jmp_buf を呼び出し先の関数から直接参照することはできないから、引数かなにかでポインタを引き回さないといけない。
これ嫌ならグローバル使う感じじゃね。
これ嫌ならグローバル使う感じじゃね。
565デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/10(金) 22:06:15.16ID:upEOHZmS0 >>560
かっこ悪いぞ。ちゃんと作れ
かっこ悪いぞ。ちゃんと作れ
566デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/10(金) 22:06:35.43ID:upEOHZmS0 >>560
かっこ悪いぞ。ちゃんと作れ
かっこ悪いぞ。ちゃんと作れ
567デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/10(金) 22:24:00.75ID:aXPLRrP9M >>560
プログラムカウンターも1bitじゃないからダメとか言いそうw
プログラムカウンターも1bitじゃないからダメとか言いそうw
568デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/10(金) 22:26:36.48ID:jlvstp5nM >>562
> ああ、ちゃんとやってるよ
そりゃすげーな
> おまえやってないんだろ?
うん、性能も悪いしバカみたいだもんw
> C++の動きもわかってねえな
具体的に指摘しなよ
まあ出来ないから悪態しかつけないんだろうけど
> ああ、ちゃんとやってるよ
そりゃすげーな
> おまえやってないんだろ?
うん、性能も悪いしバカみたいだもんw
> C++の動きもわかってねえな
具体的に指摘しなよ
まあ出来ないから悪態しかつけないんだろうけど
■ このスレッドは過去ログ倉庫に格納されています
