関数の引数に文字列があると、BSS 領域に取られるようだ
printf() を削除したときに BSS のサイズが減っていて気づいた。
printf() を削除したときに BSS のサイズが減っていて気づいた。
http://www.hi-ho.ne.jp/hawk/cpp.html
[mew-dist 18862] enumの最後の , は K&R では “ない” のが正解。 しかし、C99d に対応したコンパイラ(例: GCC 2.96以降)では OK。 関連URL => プログラミング言語 C の新機能 http://seclan.dll.jp/c99d/c99d00.htm ...
|warning: 6 trigraph(s) encountered ??で始まる文字列はプリプロセッサによって置換される可能性がある。K&R P287参照。
static な外部変数はコンパイル時、 extern な外部変数はリンク時にアドレスが決定される。
from himi C言語では、 P +- P -> I P +- I -> P が、型変換として保証されているので、pointerはpointerのまま、増減の分だけintegerとして計算すればよろしい。(Pはpointer, Iは整数型) ...
gcc でプリプロセッサだけを走らせてコンパイルはしたくないときは ‘-E’ オプションを付ければよい。
.text 実行コードを格納するセクション 実行・読み込みのみ可能で書込みは不可 .rodata 定数値を格納するセクション 読み込みのみ可。書込み・実行は不可 .data 初期化済みデータを格納するセクション 読み書きのみ可。実行は不可 ...
sizeof(double) == 8 sizeof(long long) == 8
gccに、オプション’-O2’を付けると、コードを最適化できる。 知っていたけど、gdbの変な動きと結び付かなかった。。。 ...