gcc

2009年07月30日

私がよく使うgccの -save-temps というオプションを紹介します。

続きを読む

2009年07月28日

定義宣言と参照宣言の話に関連して、実際にこのコードをコンパイルして、変数がどう割り当てられるかをみてみましょう。

v.c

int x;  /* (1) */
int y = 0; /* (2) */
int z = 1; /* (3) */
extern int x; /* (4) */

このファイルをコンパイルしてアセンブラ出力の結果を見てみましょう。

gcc -S v.c
続きを読む

2009年07月17日

前回のprintfの話で以下のコメントをいただきました。

> 以下が気になりました。
> -libcに改行なしのputsが無い
> -gccが二つ以上のprintfやputs、putcharの合成をしない
> 何か理由があるのかな

直接この疑問に答えられているわけではありませんが、ちょっとだけ調べてみたのでここに記しておきます。

続きを読む

2009年07月07日

前回に続いてもう少しgccのビルドイン関数を見ていきます。

gccはとてもたくさんのビルトイン関数があります。

オンラインマニュアルのこのページにリストがあります。

http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Other-Builtins.html#Other-Builtins

標準の数学関数はほとんどがビルトイン関数になっています。引数が定数の場合にはコンパイル時に計算されてしまいます。

具体例を見てみましょう。

続きを読む

2009年07月03日

gccのtipsを紹介します。主にgcc3.x からgcc4.x で変わっているところです。

#include <stdio.h>

int main()
{
    printf("Hello, world!\n");
}

このプログラムはgcc3では普通にprintfを呼び出すコードを生成しますが、gcc4ではどうなるでしょうか。ARM版のexeGCC4でちょっと試してみます。

続きを読む

記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード