Re: [問題] 程式可用的記憶體容量

看板C_and_CPP (C/C++)作者 (啤酒肚)時間15年前 (2011/03/16 12:52), 編輯推噓5(504)
留言9則, 7人參與, 最新討論串2/2 (看更多)
※ 引述《k770618x (tim845487)》之銘言: : 標題: [問題] 程式可用的記憶體容量 : 時間: Mon Mar 14 21:16:07 2011 : : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Dev C++ 用這不太好啊,很多lib與他整合上會有問題 初學,windows就用 VC,linux/mac就用GCC吧 : : 問題(Question): : 老師說我的程式寫錯 不可能存不到幾十萬個double : 經過測試 我連下面這麼少的資料:270000個double都會當掉 : 最多存到25萬個double左右 這是怎麼回事? : : 餵入的資料(Input): : #include <cstdlib> : #include <iostream> : 初學者不要用C++頭檔案/語法, 改用 stdlib.h 與 stdio.h吧 : int main() 好習慣 改成 int main(void) : { : : double M[270000]; 改成 double *M; int n; n = 270000; M = (double*)malloc(n*sizeof(double)); 為什麼要這樣寫不重要,先背起來就對了。 久了你就知道為何是如此。 : int i; : : for(i=0;i<270000;i++) : {M[i]=1;} 習慣不好 改成: for(i = 0; i< n; i++) { M[i] = 1; }/*for i*/ : : for(i=0;i<100;i++) : {printf("%f",M[i]);} : 同上。 : system("PAUSE"); 多個free(M); M = NULL; /*可不寫 但養成好習慣吧*/ : return 0; : } : : 預期的正確結果(Expected Output): : 印出很多個1 : : 錯誤結果(Wrong Output): : 一跑就當掉 用除錯/監看的"執行到游標位置" : 顯示問題是:segmentation fault : : 程式碼(Code):(請善用置底文網頁, 記得排版) : : : 補充說明(Supplement): : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.112.101.199 : → tropical72:用 malloc 方式配置應可過 03/14 21:43 : 推 lsc36:直接放在全域比較簡單吧 03/14 21:53 : → LoveBeef: 112 「老師說」。 您是資工系的學生? 03/14 21:58 : → LoveBeef:我測試這篇的程式,(我)不會當掉耶.不會顯示segmentation 03/14 21:59 : → LoveBeef:fault。 (我)很順利的「跑」。印出很多個1.00...... 03/14 22:02 原po是物理系的 不要鞭這樣大力啊。 Dec C的堆棧只有2MB ?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.158.204

03/16 13:49, , 1F
Mac 也有好用的IDE 叫 Xcode
03/16 13:49, 1F

03/16 14:12, , 2F
xcode也是gcc
03/16 14:12, 2F

03/16 14:29, , 3F
為什麼不要用 C++ header? 寫 C++ 就用 C++ header 呀
03/16 14:29, 3F

03/16 14:50, , 4F
大概是code看起來像在寫C語言而非C++吧XD
03/16 14:50, 4F

03/16 18:59, , 5F
@_@ 為什麼要用舊版的勒
03/16 18:59, 5F

03/17 00:32, , 6F
嘛,我想說原po舉IDE為例,就提了個IDE 科科
03/17 00:32, 6F

03/17 01:37, , 7F
xcode不是用llvm喔??
03/17 01:37, 7F

03/17 06:06, , 8F
xcode 預設 GCC 4.2, 可選用 LLVM/GCC 和 LLVM/Clang
03/17 06:06, 8F

03/17 06:07, , 9F
code 是有很多問題沒錯, 不過是 C++ 編譯就用<cxx>較好
03/17 06:07, 9F
文章代碼(AID): #1DW48KG5 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DW48KG5 (C_and_CPP)