[最新] ■[前年|前月|前日|2014/11/05|翌日|翌月|翌年] ■表示[全て|@gorry5のみ|個別]
■グループ[Mention] ■その他[Twitter:@gorry5][日記] ■[twtlog 20100921a]

11/05 00:12 (@gorry5) 今日のハマり:これを「cc -DHOGE=HOGE_3 hoge.c」などでビルドして実行したとき、表示される値は?
11/05 00:12 (@gorry5) URL:pastie.org (biba)
11/05 00:13 (@gorry5) @gorry5 3だと思っていたのだが1だったという… (bipu)
11/05 00:18 (@miahmie) @gorry5 L9を#ifndef HOGEで括ると大丈夫な感じですかね? (buzi)
--------
11/05 00:27 (@gorry5) @gorry5 実際はもっと長いコードで、「define HOGE HOGE_1」の行をコメントアウトしたつもりがされていなかったというのが本当のハマりの原因。warningも出なかったし… (behi)
--------
11/05 00:27 (@pman4416) @gorry5 これワーニング出ないの辛いですね。gccなんです? (bemu)
11/05 00:28 (@gorry5) @pman4416 実際はXcodeのデフォルトコンパイラ…gccだったかclangだったか
11/05 00:45 (@pman4416) @gorry5 "define 重複" で検索すると結構定義が上書きされる、と出てきますね。gccでは2重定義警告は出るけど上書きされるようです(4.6.1で確認) (pari)
11/05 00:47 (@gorry5) @pman4416 通常コード上での二重定義は警告が出るのが一般的の動作ですが、コードとコマンドラインオプションの両方で定義したときの警告は出たり出なかったりですね…
11/05 00:55 (@pman4416) @gorry5 VisualStudio2013でも警告でますね(プロジェクトでマクロ定義)。clang がそうなのか… (pihi)

■グループ[Mention] ■その他[Twitter:@gorry5][日記] ■[twtlog 20100921a]
[最新] ■[前年|前月|前日|2014/11/05|翌日|翌月|翌年] ■表示[全て|@gorry5のみ|個別]