現在、 Expert C Programmingの第 6 章を読んでいて、データ セグメントのサイズに非常に興味があります。
データ セグメントの違いを確認するために 3 つのプログラムを作成しました。
私のプラットフォームは MacBook Pro、OS X 10.8 で、コマンドを使用しclang xxx.c
てコードをコンパイルします。
int main()
{
int i, j;
return 0;
}
__テキスト 4096 __データ 0
int arr[10000];
int main()
{
int i, j;
return 0;
}
__テキスト 4096 __データ 40960
int main()
{
int i, j;
int arr[10000];
return 0;
}
__テキスト 4096 __データ 4096
3つのサイズすべてが互いに異なるのはなぜですか?