[問題] dll 的 heap memory 上限
我的C++程式是作成DLL讓JNI去使用(DEV C++)
我的問題是
int* a = new int[1 << 26];
int* b = new int[1 << 26];
作了a之後,在b會ERROR(RUNTIME ERROR)
如果把其中一個註解掉,就沒有事
如果改成
int* a = (int*)malloc(sizeof(int) << 26);
int* b = (int*)malloc(sizeof(int) << 26);
a[rand() & 0x3FFFFFF] 不會有問題
b[rand() & 0x3FFFFFF] 會有fatal error
我遇過的fatal error都是超出陣列大小
所以我認為跟原本是一樣的問題(b的malloc沒有成功)
目前我猜測作成DLL的heap memory上限跟一般C程式不一樣
(我知道一般的上限是2G)
請問我這樣猜測是對的嗎 或是是其他的問題呢 @@?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.184.62
※ 編輯: gozha 來自: 140.122.192.214 (04/21 17:49)
→
04/21 18:29, , 1F
04/21 18:29, 1F
→
04/21 18:31, , 2F
04/21 18:31, 2F
※ 編輯: gozha 來自: 140.122.192.214 (04/21 18:32)
推
04/21 18:39, , 3F
04/21 18:39, 3F
→
04/21 18:40, , 4F
04/21 18:40, 4F
→
04/21 18:40, , 5F
04/21 18:40, 5F
→
04/21 18:41, , 6F
04/21 18:41, 6F
→
04/21 18:42, , 7F
04/21 18:42, 7F
→
04/21 18:42, , 8F
04/21 18:42, 8F
推
04/21 18:48, , 9F
04/21 18:48, 9F
→
04/21 19:01, , 10F
04/21 19:01, 10F
→
04/21 19:02, , 11F
04/21 19:02, 11F
→
04/21 19:04, , 12F
04/21 19:04, 12F
→
04/22 09:31, , 13F
04/22 09:31, 13F
→
04/22 16:54, , 14F
04/22 16:54, 14F
→
04/23 17:12, , 15F
04/23 17:12, 15F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章