オプション沼(18) gccの-Waddressオプション、警告オプションその1

warning
Joseph Halfmoon

「とりあえず」警告は全部載せの -Wall オプション使っておけと言われます。しかし、ここはあえてバラバラに警告オプションをひとつひとつ丁寧に?味わっていきたいと思います。それにしても-Wallに含まれる警告オプションだけでいくつあるんだ?それに警告の裏側には新たな世界が広がってるみたいな兆候も。大丈夫か。
“オプション沼(18) gccの-Waddressオプション、警告オプションその1” の続きを読む

オプション沼(17) どしたら差が出る? gccの-fno-builtinオプション

gcc940_x64
Joseph Halfmoon

元より野次馬、このところgccのオプションの「なんだかわからん」「不穏な雰囲気がする」やつらをめぐっております。今回は -fno-builtinオプションとな。コンパイラ素人の勝手な理解では、gccが「内蔵する」ビルドイン関数を使わないでくれとリクエストするためのオプション、である筈。しかしこの使い方が分からないデス。
“オプション沼(17) どしたら差が出る? gccの-fno-builtinオプション” の続きを読む

オプション沼(16) ANSI-C(ISO-C)の闇? -ansiと-pedantic

optANSI_EC
Joseph Halfmoon

元より野次馬、不穏な気配のたなびくところにひかれます。前回が「小さい闇」なら、今回のは「おおきい闇」でしょうか。以前から2つのオプションに関する説明の書きぶりの「不貞腐れた感じ」が気になっていたのです。ウルセー奴らがいるから、あるいは、あんたの思っているのとは違うぜ的な。元より素人、ちょっとのぞき見してみるだけ。 “オプション沼(16) ANSI-C(ISO-C)の闇? -ansiと-pedantic” の続きを読む

オプション沼(15) インクルードガードの闇?-Wno-import、#importは非推奨

import_example_c
Joseph Halfmoon

遥か太古の時代、C言語をかじり始めた最初からインクルードガード書いてきました。メンドクセーけど真面目にCプログラム書くときは必須。しかし書かずに済ませる方法があったです、#import。元はといえばObjective-Cの機能みたいですが、gccならフツーのCでも使えていた。知ってた?でも今はその立ち位置微妙。
“オプション沼(15) インクルードガードの闇?-Wno-import、#importは非推奨” の続きを読む

オプション沼(14) 最適化で以下省略なコード書いてみました。gcc -O3オプション

O3EC
Joseph Halfmoon

別シリーズのRust記事にて時間計測しようとしたらばコンパイラの最適化のために計測対象が「消えてた」件これあり、ありがち?今回こちらでは消えて(飛ばされてしまう)c言語コードをあえて作成しgccの最適化オプションの「威力」を痛感してみたいと思います。最適化は奥深いのでまたやるつもりですが。 “オプション沼(14) 最適化で以下省略なコード書いてみました。gcc -O3オプション” の続きを読む

オプション沼(13) コードカバレッジを計測する準備、gcc ‐‐coverageオプション

coverageGcov
Joseph Halfmoon

今回はソースコードのどこを何回実行したのだか測定できる、コードカバレッジ計測のためのgccのオプション、‐‐coverage を使ってみます。コードカバレッジ用のオプションは複数あるようなのですが、‐‐coverageオプションを一つ使えばこれ一個で良きにはからってくれるみたいっす。知らんけど。

“オプション沼(13) コードカバレッジを計測する準備、gcc ‐‐coverageオプション” の続きを読む

オプション沼(12) 外部からヘッダ・ファイルを与えられる -include オプション

no_include_warning
Joseph Halfmoon

コマンドライン・オプションと言っても、よく使うやつもあれば、使い方がわからないやつもあります。中には使い方は分かるけれども、使うべき局面に遭遇したことがないやつもあり。この老人の場合、gccの-includeオプションはそんなオプションであります。外部からヘッダファイルを読み込ませるもの。何時使うの?いまでしょ? “オプション沼(12) 外部からヘッダ・ファイルを与えられる -include オプション” の続きを読む

オプション沼(11) Makefileの友? それほどでもない? gccの-Mオプション

helloCairo_M
Joseph Halfmoon

前回につづきプリプロセッサ・オプションです。-Mと-MM。オブジェクトの依存関係をMakefile用に出力してくれるもの。-Mおよび-MMを使用すると-Eオプション同様プリプロセッサ処理までで終了します。Makefileを作るのに役に立つ?でもま最近、Makefileを自分で書くこともあまり無い気がするのですが。
“オプション沼(11) Makefileの友? それほどでもない? gccの-Mオプション” の続きを読む

オプション沼(10) gccの-Eオプションを活用する? -dM、-dN、-dDオプション

dM
Joseph Halfmoon

前々回、-Eオプションに対して「積極的に使いたい感じはしない」などと不埒なことを書いてしまいました。しかし過ちは直ぐに訂正いたします。「結構お楽に使えるじゃん」と。-dM、-dN、-dDの3兄弟的オプションズと併用すれば、ということでありますが。知りたかったマクロの値が一目瞭然なのであります。お好みにより表現はチョイス

“オプション沼(10) gccの-Eオプションを活用する? -dM、-dN、-dDオプション” の続きを読む

オプション沼(9) gccの-Dオプション、意外な使い方もあり?私は人生複雑にしたくないケド

optDsource
Joseph Halfmoon

前回はプリプロセスで止め、コンパイルに進まない-Eオプションでした。今回もプリプロセッサ関係のオプション続けます。-Dオプションっす。よく使うやつ?そんなの知ってる。でも改めて取り組んでみると「新たな世界が開ける」ような気がしないでもないです(個人の感想デス。)まあ、人生複雑にしたくなければ深みにハマらん方が良い? “オプション沼(9) gccの-Dオプション、意外な使い方もあり?私は人生複雑にしたくないケド” の続きを読む