今回はソースコードのどこを何回実行したのだか測定できる、コードカバレッジ計測のためのgccのオプション、‐‐coverage を使ってみます。コードカバレッジ用のオプションは複数あるようなのですが、‐‐coverageオプションを一つ使えばこれ一個で良きにはからってくれるみたいっす。知らんけど。
オプション沼(12) 外部からヘッダ・ファイルを与えられる -include オプション
コマンドライン・オプションと言っても、よく使うやつもあれば、使い方がわからないやつもあります。中には使い方は分かるけれども、使うべき局面に遭遇したことがないやつもあり。この老人の場合、gccの-includeオプションはそんなオプションであります。外部からヘッダファイルを読み込ませるもの。何時使うの?いまでしょ? “オプション沼(12) 外部からヘッダ・ファイルを与えられる -include オプション” の続きを読む
オプション沼(11) Makefileの友? それほどでもない? gccの-Mオプション
前回につづきプリプロセッサ・オプションです。-Mと-MM。オブジェクトの依存関係をMakefile用に出力してくれるもの。-Mおよび-MMを使用すると-Eオプション同様プリプロセッサ処理までで終了します。Makefileを作るのに役に立つ?でもま最近、Makefileを自分で書くこともあまり無い気がするのですが。
“オプション沼(11) Makefileの友? それほどでもない? gccの-Mオプション” の続きを読む
オプション沼(10) gccの-Eオプションを活用する? -dM、-dN、-dDオプション
前々回、-Eオプションに対して「積極的に使いたい感じはしない」などと不埒なことを書いてしまいました。しかし過ちは直ぐに訂正いたします。「結構お楽に使えるじゃん」と。-dM、-dN、-dDの3兄弟的オプションズと併用すれば、ということでありますが。知りたかったマクロの値が一目瞭然なのであります。お好みにより表現はチョイス
オプション沼(9) gccの-Dオプション、意外な使い方もあり?私は人生複雑にしたくないケド
前回はプリプロセスで止め、コンパイルに進まない-Eオプションでした。今回もプリプロセッサ関係のオプション続けます。-Dオプションっす。よく使うやつ?そんなの知ってる。でも改めて取り組んでみると「新たな世界が開ける」ような気がしないでもないです(個人の感想デス。)まあ、人生複雑にしたくなければ深みにハマらん方が良い? “オプション沼(9) gccの-Dオプション、意外な使い方もあり?私は人生複雑にしたくないケド” の続きを読む
オプション沼(8) gccの-Eオプション、プリプロセスのUnder the Hood?
アセンブルで止める-Sオプションとか、コンパイルで止める-cオプションの前に、プリプロセスで止める-Eオプションがあったの忘れてました。-Eオプション、多分、今までに使ったこと無かったかも。やってみるとね、まあ使わなかったのにも一理?ありな感じがあり。あまり複雑なプリプロセスしないもんね。触らずに済む方が平和?
オプション沼(7) gccに-staticオプション、できたファイルはデカいのよ。
前回はリンクの手前で止める-cオプションでした。今回はリンクするのだけれど、普段あまり使わない「スタティック・リンク」の -static オプションです。普段のベアメタルな組み込み開発なら「スタティック・リンク」ですが、わざわざオプション付けたりしないしな~。使う局面は極めて限定的かと。知らんけど。 “オプション沼(7) gccに-staticオプション、できたファイルはデカいのよ。” の続きを読む
オプション沼(6) gccに-cオプション、できるファイルはいろいろなのよ。
前回アセンブラソース生成で止める gcc の -S オプションを使ってみました。今回はオブジェクトファイル生成で止める -c オプションを使ってみます。Makefileの中とかでよく見るアレです。日頃お世話になっている気がする割にはどんなオブジェクトファイルが出来ているのか意識して見てないデス。たまには確認しておけと。 “オプション沼(6) gccに-cオプション、できるファイルはいろいろなのよ。” の続きを読む
オプション沼(5) gccに-Sオプションつけて、アセンブラ出力を愛でてみる
今回は gcc の -S オプションを使ってみます。「もっとも狭義の」コンパイル、アセンブリ言語ソース生成までで処理を止めるもの。コンパイラのお仕事を途中で止めておくオプションでも -c はよく使うとおもいますが、-Sはあまり使わない気がします(個人の感想デス。)アセンブリ言語ソースを読まねばいられない人は別にして。
オプション沼(4) gccに-pgオプションつけて、アッカーマン関数の再帰の回数を数えてみる
今回は使う人もいれば使わない人もいる? -pg オプションを gcc にお願いしてみます。プロファイラ gprof を使うときに必要なオプションです。プロファイリングそのものはコンパイラが「仕掛けをし」オブジェクトが実行時に自前でデータ収集、gprofはそれをまとめてレポートしてくれるという感じでありますが。
オプション沼(3) 何は無くても pkg-config がなんとかしてくれる?かも?
今回はオプション界?の黒幕、pkg-configについてチョイと調べてみました。pkg-configが参照するpcファイルの在処が知りたかったです。ライブラリを使ってビルドするときにpkg-configにお世話になることが多いですが、よろしくという感じでお願いする一方。pkg-configの暗躍はよく分かってないっと。
オプション沼(2) gcc、いつもの-gオプション。objdumpにも-gあったのね。
コマンドラインから直接 gcc を起動するような場合、いつも無意識のうちに -g -O0 とオプションを付けとりますな。多分バグをこさえて デバッガ のお世話になるだろうから。それに最適化の効いたオブジェクトをスラスラ読めるほどデキる人でもあるまいし。今回は -g して生成される「もの」を遠くから眺めてみるの回。
“オプション沼(2) gcc、いつもの-gオプション。objdumpにも-gあったのね。” の続きを読む
オプション沼(1) gcc 困ったとき?の -v オプション、眺めてみるの回
普段よりコンパイラやらバイナリツールやらにはお世話になっております。コマンドラインオプションなるものあり。常々「テキトー」「惰性」です。ビルドツールにお任せで何も考えてないことさえあります。そういうことではイカンのではないかと今頃になって思い至りました。まあ、実際にやってみる、それが一番簡単。 “オプション沼(1) gcc 困ったとき?の -v オプション、眺めてみるの回” の続きを読む