【初心者歓迎】C/C++室 Ver.12【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0009デフォルトの名無しさん
NGNG--
#define PARAMETER_NUMBER 162905984
#include <stdio.h>
char parameter[PARAMETER_NUMBER];
int main(void)
{
printf("%d\n", sizeof(parameter));
}
--
上記プログラム(といえるほどのものではありませんが)をgccでコンパイルして実行したところ
正常にsizeofの結果を表示してくれるのですが、
#define行を
#define PARAMETER_NUMBER 162905985
とするとコンパイルできるものの実行してもsizeofの結果を返してくれません。
この問題を回避する方法、つまり
グローバル変数領域を確保し、かつ正常にプログラムを実行する方法を
教えていただけませんでしょうか。
メモリは不足していない(と思います)し、また同じプログラムをlinuxやsolarisでコンパイルした場合は
同様の現象は再現できません。
■ このスレッドは過去ログ倉庫に格納されています