簡體   English   中英

Fortran77程序不執行

[英]Fortran77 program does not execute

工作的 Fortran 編譯器有時會生成無效的 Win32.exe 文件

大家好,

幾個可用的 Fortran 編譯器在某些情況下似乎有奇怪的行為。 我嘗試編譯和運行 John Denton 教授的程序,可以在這里找到:

https://www.dropbox.com/sh/8i0jyxzjb57q4j4/AABD9GQ1MUFwUm5hMWFylucva?dl=0

Meangen 和 Stagen 程序的不同版本可以編譯並運行良好。 最后一個名為 Multall 的程序也有幾個不同的版本。 和以前一樣,可以毫無問題地編譯適當的源代碼。 但是:當我嘗試運行生成的 .exe 文件時,我收到一條非常奇怪的錯誤消息,指出 Multall's.exe 不是有效的 Win32 可執行文件。

我在 Windows XP 和 Windows 8 上使用了四種不同的 Fortran 編譯器(g77、Cygwin、Mingw、FTN95),結果總是相同。 我做了幾次測試,在我看來奇怪的錯誤消息的原因是 Multall 包含了大量的源代碼。 16000多行代碼,可能是編譯器默認分配給代碼段的內存太小,導致溢出。

我嘗試了 g77 編譯器的幾個命令行選項以增加代碼段的內存量,但沒有一個起作用。 誰能告訴我 g77 的哪個命令行選項可以使巨大的程序 Multall's.exe 工作? 或者我錯了,奇怪的錯誤信息與代碼段無關? 誰能幫我?

非常感謝,非常感謝您的幫助

事實上,這個問題是不是程序的大小,但堆棧大小。 這是由於大型公共塊。 作為測試,您可以將commall-open-18.3中的JD減少到1000,您將注意到問題已解決。 您可以檢查是否數組不是過大,並調整一些參數。

我嘗試減少公共塊 - 沒有任何效果 - 然后我在另一台計算機上嘗試並且編譯順利並且代碼運行 - 我猜這是圖書館的某種搞砸了 - 可能是因為我弄得一團糟(首先) 安裝我真的不知道我在做什么 - 但我真的不知道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM