[過去ログ] C言語なら俺に聞け 163 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
681: (ワッチョイ 23ad-MHHu) 02/22(土)07:05 ID:nEyoRU5r0(1/2) AAS
>>680
WSL2 の Ubuntu 22.04.5 にインストールされている gcc 11.4.0 で gcc -O でコンパイルしたら起きた。
-O なしだと起きない。
682: (ワッチョイ fde8-ItHp) 02/22(土)12:11 ID:DWcN/KDk0(1) AAS
余計なことを
683
(1): (ワッチョイ 23ad-MHHu) 02/22(土)14:47 ID:nEyoRU5r0(2/2) AAS
最適化オプションの有無で違いが出る状態はできれば止めて欲しかったな。やるとしても別オプションでやって欲しかった。
684
(1): (ワッチョイ 1bab-2o2c) 02/22(土)16:41 ID:Z2hFLtuL0(1) AAS
その壁越えられないやつ多いよね
仕事でも最適化すると動かなくなるからってオフでリリースしてた雑魚エンジニアいたわ
685: (ワッチョイ cba1-Nstt) 02/22(土)17:57 ID:HOxFgRC/0(1) AAS
コンパイラのバグって事じゃないのか?
686: はちみつ餃子◆8X2XSCHEME (ワッチョイ b132-FOV+) 02/23(日)20:21 ID:5K9CwmG10(1) AAS
>>683
-0 はいくつかの具体的な最適化オプションを束ねたものだよ。
外部リンク[html]:gcc.gnu.org
このうちのどれが効いてるのかは知らんけど。
687
(1): (ワッチョイ b691-M1fQ) 02/23(日)21:01 ID:VuC2otmU0(1) AAS
>>684
最適化オフでのリリースは一つの有力な選択だと思います。
688: (ワッチョイ 094f-/70v) 02/23(日)21:45 ID:K8mfivgh0(1) AAS
最適化に副作用あるのは常識
689: (ブーイモ MM99-A0+M) 02/23(日)21:54 ID:FQnOu1obM(1) AAS
>>687
まザコならしょうがないわな
組み込みならハードのコスト一段下げられるけど諦めるしかない
そんなザコ会社だから低収入もしかたない
690: (ワッチョイ 0d01-Ah42) 02/24(月)01:00 ID:IorN2uWP0(1) AAS
自己紹介かな
691: (ワッチョイ aeb7-/OIl) 02/24(月)17:12 ID:qLUUxQg70(1/2) AAS
gccなら-O0でも実施される最適化はあるので本気で最適化オフにしたいなら-O0で有効になる項目を-fno-に個別に指定する必要がありそこそこ面倒
692: (ワッチョイ aebd-A0+M) 02/24(月)17:18 ID:SlW5Uo1a0(1) AAS
最適化オフとか言ってる人は、UBを踏んでしまってるから最適化で動作が変わるってことわかってんのか?
693: (ワッチョイ aeb7-/OIl) 02/24(月)17:22 ID:qLUUxQg70(2/2) AAS
まあコンパイラの最適化バグである可能性もないわけではないがな
694
(1): (ワッチョイ b691-M1fQ) 02/24(月)20:28 ID:V/nislFh0(1) AAS
組み込み分野だと最適化によりデバッグがしづらくなることが多い。
695
(1): 警備員[Lv.1][新芽] (ワッチョイ d5f7-a+6O) 02/24(月)21:56 ID:JeKlmQzN0(1) AAS
gccで -O2 なし -Wall ありでコンパイルすると strict aliasing の警告がでないけど、
-O2 -Wall ありだと strict aliasing の警告が出るケースに当たったのだけど、
strict aliasing って安全に最適化するためのアレなのですかね(最適化しないときは strict aliasing には無頓着)
696: (ワッチョイ d5a2-eBms) 02/24(月)22:52 ID:ifUFLigf0(1) AAS
この人たちホントgccが大好きだよね
697: (ワッチョイ 76a1-x4eQ) 02/24(月)23:27 ID:LsxokMxo0(1) AAS
gccはいろんな環境で動かせるので便利ではある
698
(1): (ワッチョイ ae76-A0+M) 02/25(火)01:13 ID:t+eQGWY+0(1/2) AAS
>>694
それ組み込み関係ないから
699
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ b132-FOV+) 02/25(火)08:31 ID:6jOr+W/20(1/4) AAS
>>695
警告を出すためには警告の条件に引っ掛かっていることがわからないといけないという単純な前提がある。
結果を使いもしないのに警告のためだけにエイリアス解析を頑張るのは合理的か?
700: (ワッチョイ b6e5-M1fQ) 02/25(火)09:04 ID:ODzMt1Nm0(1) AAS
>>698
そうだった
701
(2): 警備員[Lv.1][新芽] (ワッチョイ d56d-a+6O) 02/25(火)23:42 ID:MFbkYyJ10(1) AAS
>>699
最適化しないときは strict aliasing が不要なものなんですかね(最適化のための strict aliasing なんですかね)というつもりで書いたのだけど、分かりにくくてすまんね
702
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ b132-Ah42) 02/26(水)10:14 ID:6jOr+W/20(2/4) AAS
>>701
少なくとも GCC や Clang では strict aliasing rules は最適化のためのものという認識で正しいよ。
-fstrict-aliasing (やこれらを含む -O2 以上の最適化) が有効になっているときに限りエイリアスベースの最適化をするし、そのときだけ strict aliasing rules が守られていることを要求する。
703
(1): (ワッチョイ 317b-/OIl) 02/26(水)11:04 ID:x+jOZkKw0(1/2) AAS
strict aliasing rulesを守らないと未定義動作となるのはC言語の決まりなので特定の処理系で問題ないから守らなくて良いという考えは馬鹿のすること
704: (ワッチョイ ae51-A0+M) 02/26(水)11:20 ID:t+eQGWY+0(2/2) AAS
というかstrict aliasing rulesをわかってるやつがあえて守らないって考えにくいでしょ
このスレを見てわかる通りわかってないやつらが大半
705
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ b132-Ah42) 02/26(水)11:38 ID:6jOr+W/20(3/4) AAS
ビットパターンを別の型で読み替える可能性があるなら最初から union で書いておいたほうが人にとっても読みやすいしな。
(C++ では union でも common initial sequence の読み替えしか許しておらず、 C より制約が厳しいので注意。)
706: はちみつ餃子◆8X2XSCHEME (ワッチョイ b132-FOV+) 02/26(水)15:23 ID:6jOr+W/20(4/4) AAS
>>703
未定義は「規格としては何も要求しない」なので処理系が何らかの追加保証をすることを禁じてない。
707
(1): (ワッチョイ 317b-/OIl) 02/26(水)15:45 ID:x+jOZkKw0(2/2) AAS
特定の処理系と心中するつもりでstrict aliasing rulesを守らない奴がいたらすごい馬鹿
708: 警備員[Lv.5][新芽] (ワッチョイ 09df-a+6O) 02/26(水)23:04 ID:0kyhL3S/0(1) AAS
>>702
助言をありがとうございます!!
>>701 より
709
(1): (ワッチョイ b691-M1fQ) 02/27(木)00:09 ID:oCSgSskf0(1) AAS
>>707
移植しないなら別にいいんじゃないの
710: (ワッチョイ 0a20-/OIl) 02/27(木)08:29 ID:Uw13P3Kf0(1/2) AAS
>>709
将来の更新の可能性も考慮しないわけね
1-
あと 292 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.012s