0
  • 関数を使用してコードサイズを測定し、fseek()それをシェル変数に格納できますか?
  • milepost gccまたはを使用してコードサイズ、コンパイル時間、実行時間を抽出することは可能GNU Profiler toolですか?はいの場合、それらをシェル変数に格納する方法は?

私の目的は、コンパイル時間、実行時間、コードサイズに基づいて最適化手法の最適なセットを見つけることなので、これらのパラメーターを返すことができる関数を期待します。

MyPgm=/root/Project/Programs/test.c
gcc -Wall -o1 -fauto-inc-dec $MyPgm -o output
time -f "%e" -o Output.log ./output
while read line;
do
echo -e "$line";
Val=$line
done<Output.log

これにより、実行時間が変数に格納されますVal。同様に、コードサイズとコンパイル時間の値を取得したいと思います。私は、外部プログラムを使用せずに、これを達成するためにできることを好みます!

4

3 に答える 3

4

Linuxでのコードサイズについては、ターミナルでsizeコマンドを使用できます。$ size file-name.out

さまざまなセクションのサイズが表示されます。コードサイズにはテキストセクションを使用します。グローバルデータサイズも考慮したい場合は、dataとbssを使用できます。

于 2012-11-21T11:20:31.360 に答える
3

size(1)コマンドhttp://www.linuxmanpages.com/man1/size.1.phpを使用できます

または、ELFファイルを開き、セクションヘッダーを調べて、タイプSHT_PROGBITSおよびSHF_EXECINSTRフラグが設定されたすべてのセクションのサイズを合計します。

于 2012-11-21T07:29:55.903 に答える
1

非Linux/非GNU-utilsシステム(GNUsizereadelf)も持たない場合、nmプログラムを使用して、オブジェクトファイル(ライブラリ/実行可能ファイル)からシンボル情報(サイズを含む)をダンプできます。構文はシステムに少し依存します。

残念ながら、このユーティリティはほとんどどこでも利用できますが、その出力形式は移植性が低いため、システム固有のスクリプトが必要です。

于 2012-11-22T09:31:29.713 に答える