オプション沼(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オプション、意外な使い方もあり?私は人生複雑にしたくないケド” の続きを読む

オプション沼(8) gccの-Eオプション、プリプロセスのUnder the Hood?

optionEgetmaxyx
Joseph Halfmoon

アセンブルで止める-Sオプションとか、コンパイルで止める-cオプションの前に、プリプロセスで止める-Eオプションがあったの忘れてました。-Eオプション、多分、今までに使ったこと無かったかも。やってみるとね、まあ使わなかったのにも一理?ありな感じがあり。あまり複雑なプリプロセスしないもんね。触らずに済む方が平和?

“オプション沼(8) gccの-Eオプション、プリプロセスのUnder the Hood?” の続きを読む

オプション沼(7) gccに-staticオプション、できたファイルはデカいのよ。

lddTestStatic
Joseph Halfmoon

前回はリンクの手前で止める-cオプションでした。今回はリンクするのだけれど、普段あまり使わない「スタティック・リンク」の -static オプションです。普段のベアメタルな組み込み開発なら「スタティック・リンク」ですが、わざわざオプション付けたりしないしな~。使う局面は極めて限定的かと。知らんけど。 “オプション沼(7) gccに-staticオプション、できたファイルはデカいのよ。” の続きを読む

オプション沼(6) gccに-cオプション、できるファイルはいろいろなのよ。

MSYS2_gcc_12_2_0
Joseph Halfmoon

前回アセンブラソース生成で止める gcc の -S オプションを使ってみました。今回はオブジェクトファイル生成で止める -c オプションを使ってみます。Makefileの中とかでよく見るアレです。日頃お世話になっている気がする割にはどんなオブジェクトファイルが出来ているのか意識して見てないデス。たまには確認しておけと。 “オプション沼(6) gccに-cオプション、できるファイルはいろいろなのよ。” の続きを読む

オプション沼(5) gccに-Sオプションつけて、アセンブラ出力を愛でてみる

optS_EC
Joseph Halfmoon

今回は gcc の -S オプションを使ってみます。「もっとも狭義の」コンパイル、アセンブリ言語ソース生成までで処理を止めるもの。コンパイラのお仕事を途中で止めておくオプションでも -c はよく使うとおもいますが、-Sはあまり使わない気がします(個人の感想デス。)アセンブリ言語ソースを読まねばいられない人は別にして。

“オプション沼(5) gccに-Sオプションつけて、アセンブラ出力を愛でてみる” の続きを読む

オプション沼(4) gccに-pgオプションつけて、アッカーマン関数の再帰の回数を数えてみる

ackermann_src
Joseph Halfmoon

今回は使う人もいれば使わない人もいる? -pg オプションを gcc にお願いしてみます。プロファイラ gprof を使うときに必要なオプションです。プロファイリングそのものはコンパイラが「仕掛けをし」オブジェクトが実行時に自前でデータ収集、gprofはそれをまとめてレポートしてくれるという感じでありますが。

“オプション沼(4) gccに-pgオプションつけて、アッカーマン関数の再帰の回数を数えてみる” の続きを読む

オプション沼(3) 何は無くても pkg-config がなんとかしてくれる?かも?

mpfrpc
Joseph Halfmoon

今回はオプション界?の黒幕、pkg-configについてチョイと調べてみました。pkg-configが参照するpcファイルの在処が知りたかったです。ライブラリを使ってビルドするときにpkg-configにお世話になることが多いですが、よろしくという感じでお願いする一方。pkg-configの暗躍はよく分かってないっと。

“オプション沼(3) 何は無くても pkg-config がなんとかしてくれる?かも?” の続きを読む

オプション沼(2) gcc、いつもの-gオプション。objdumpにも-gあったのね。

objDmp_h_compare
Joseph Halfmoon

コマンドラインから直接 gcc を起動するような場合、いつも無意識のうちに -g -O0 とオプションを付けとりますな。多分バグをこさえて デバッガ のお世話になるだろうから。それに最適化の効いたオブジェクトをスラスラ読めるほどデキる人でもあるまいし。今回は -g して生成される「もの」を遠くから眺めてみるの回。
“オプション沼(2) gcc、いつもの-gオプション。objdumpにも-gあったのね。” の続きを読む

オプション沼(1) gcc 困ったとき?の -v オプション、眺めてみるの回

Joseph Halfmoon

普段よりコンパイラやらバイナリツールやらにはお世話になっております。コマンドラインオプションなるものあり。常々「テキトー」「惰性」です。ビルドツールにお任せで何も考えてないことさえあります。そういうことではイカンのではないかと今頃になって思い至りました。まあ、実際にやってみる、それが一番簡単。 “オプション沼(1) gcc 困ったとき?の -v オプション、眺めてみるの回” の続きを読む