[問題] 陣列設置上限的問題

看板Fortran作者 (阿pon)時間15年前 (2009/08/01 18:04), 編輯推噓3(3011)
留言14則, 5人參與, 最新討論串1/1
最近在寫一個fortran的程式,遇到了一個問題,當我設定兩個超過300*300的矩陣時, 執行程式時發生了stack overflow 的問題。想請問板上的高手,如何提高矩陣大小 的上限?這是和fortran的設定有關嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.17.103

08/01 19:59, , 1F
作業系統 compiler是? 32bitOS 矩陣過大使用上有時出錯
08/01 19:59, 1F

08/01 20:12, , 2F
我用的是ASUS的NOTEBOOK,本來灌VISTA,但後來因為FORTRAN的
08/01 20:12, 2F

08/01 20:14, , 3F
compiler不能在VISTA上使用,所以改灌XP,我用的是FORTRAN6.0
08/01 20:14, 3F

08/01 20:24, , 4F
vista還有xp都有分32bit與64bit兩種版本,一般使用者大댠
08/01 20:24, 4F

08/01 20:24, , 5F
多使用32bit版本你可以再系統裡面卻認
08/01 20:24, 5F

08/01 20:46, , 6F
我用的是32bit版本的
08/01 20:46, 6F

08/01 21:39, , 7F
他都說了是stack overflow,所以和32bit和64bit無關
08/01 21:39, 7F

08/01 21:40, , 8F
請找一下compiler的設定,加大stack size
08/01 21:40, 8F

08/01 21:41, , 9F
或是改用動態陣列來開別用靜態陣列
08/01 21:41, 9F

08/01 21:46, , 10F
手邊沒有軟體,不確定設定在那裡,找一下下面的位置
08/01 21:46, 10F

08/01 21:46, , 11F
Project->Setting->Link->Output->Stack allocations
08/01 21:46, 11F

08/02 01:21, , 12F
你可以配合matlab用mex來寫fortran的部分
08/02 01:21, 12F

08/02 01:22, , 13F
matlab會幫你管理記憶體 不會overflow
08/02 01:22, 13F

08/02 07:25, , 14F
謝謝rue大,問題解決了,非常感謝
08/02 07:25, 14F
文章代碼(AID): #1AT1CiqO (Fortran)