[問題] 單支程式malloc上限

作者: qoojordon (穎川琦)   2015-05-09 02:06:06
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
CentOS 5.9
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
No
問題(Question):
主要為附帶的程式碼網頁 line 268~273 出錯
buildGraph()為參考輸入的文字檔後 , 動態要求記憶體空間 ,
並給予資料結構初值 , POINT_NUM1的size很大 , 此例值為14128
目前猜測是單一程式能要求的記憶體空間有限制
餵入的資料(Input):
兩個約500K的文字檔
預期的正確結果(Expected Output):
line 268~273 能正確的對 h1指標的每一個item初始化
錯誤結果(Wrong Output):
line 268~273 在i=13140 時發生 Segmentation Fault
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/eNFva5
補充說明(Supplement):
h1指標和 和 line 256~264的pointG1指標是用相同的觀念去建構的 ,
上面的loop能順利跑完 , 因此排除是結構的指標使用錯誤
作者: scwg ( )   2015-05-09 03:44:00
POINT_NUM1 的 macro 定義加上括號:唔, 慢了. 不過建議置底的第九戒加入最外圍也最好加括號
作者: azureblaze (AzureBlaze)   2015-05-09 11:38:00
或者不要用#define來做這種事 用const就好了
作者: chchwy (mat)   2015-05-09 23:58:00
就要這麼一丁點空間 離限制還差得遠吧XDDD
作者: dirkc (3781615)   2015-05-16 23:17:00
malloc的上限通常是user address space的大小減去其他

Links booklink

Contact Us: admin [ a t ] ucptt.com