前提・実現したいこと
プログラム内でc言語でmallocを用いてメモリを動的に確保する際,
メモリのサイズが大きくなりすぎるとメモリが確保できず,NULLが返ってきます.
メモリが小さい場合にはもちろん正常に確保できます.
メモリのサイズが極めて大きい場合でも正常にメモリを確保できる方法を教えてください.
該当のソースコード
C
1if ((p = (double *)malloc(rows * sizeof(double))) == NULL) { 2 fprintf(stderr, "\n Memory can not be allocated (%ld byte).\n", rows * sizeof(double)); 3 exit(EXIT_FAILURE); 4}
結果
Memory can not be allocated (1522831928 byte)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。