関数の引数に文字列があると、BSS 領域に取られるようだ

printf() を削除したときに BSS のサイズが減っていて気づいた。

2004-09-29 (水) · masutaka

C プログラマが知る C++ の性質

http://www.hi-ho.ne.jp/hawk/cpp.html

2003-03-27 (木) · masutaka

enumの最後の `,`

[mew-dist 18862] enumの最後の , は K&R では “ない” のが正解。 しかし、C99d に対応したコンパイラ(例: GCC 2.96以降)では OK。 関連URL => プログラミング言語 C の新機能 http://seclan.dll.jp/c99d/c99d00.htm ...

2003-03-01 (土) · masutaka

トライグラフ

|warning: 6 trigraph(s) encountered ??で始まる文字列はプリプロセッサによって置換される可能性がある。K&R P287参照。

2003-01-07 (火) · masutaka

外部変数のアドレスが決まるタイミング

static な外部変数はコンパイル時、 extern な外部変数はリンク時にアドレスが決定される。

2002-10-01 (火) · masutaka

型変換

from himi C言語では、 P +- P -> I P +- I -> P が、型変換として保証されているので、pointerはpointerのまま、増減の分だけintegerとして計算すればよろしい。(Pはpointer, Iは整数型) ...

2002-09-03 (火) · masutaka

プリプロセスのみ

gcc でプリプロセッサだけを走らせてコンパイルはしたくないときは ‘-E’ オプションを付ければよい。

2002-08-19 (月) · masutaka

セクション構造

.text 実行コードを格納するセクション 実行・読み込みのみ可能で書込みは不可 .rodata 定数値を格納するセクション 読み込みのみ可。書込み・実行は不可 .data 初期化済みデータを格納するセクション 読み書きのみ可。実行は不可 ...

2002-07-15 (月) · masutaka

Solaris9 での double と long long のサイズ

sizeof(double) == 8 sizeof(long long) == 8

2002-04-09 (火) · masutaka

gcc の最適化オプション

gccに、オプション’-O2’を付けると、コードを最適化できる。 知っていたけど、gdbの変な動きと結び付かなかった。。。 ...

2002-04-01 (月) · masutaka