2011-01-10 61 views
0

我已經完成了爲fortran 77程序製作gui的任務。爲此,我使用Lahey Fujitsu編譯器和wisk,它基本上是一個純粹的winteracter骨骼版本。現在我編寫了90年代的gui部分,說實話,現在我沒有編寫任何代碼,只是使用了wisk嚮導吐出的代碼,並且在gui部分與77部分交談時出現問題。將Fortran 77程序編碼爲子程序

該程序由一個主程序和14個子程序文件組成。主程序調用所有其他子程序,處理計算並將最終結果寫入文本文件。我想要做的是使主程序成爲子程序,並從程序的gui或fortran 90部分調用它,從而使gui成爲主程序。是否有可能做到這一點,因爲大部分fortran 77被聲明爲隱式雙精度,而fortran 90的代碼是隱含的沒有?更進一步,在gui部分,我將不得不調用所有的子程序,否則會將主程序轉換爲子程序,處理這個問題?

任何幫助/意見,將不勝感激。

如果有任何不明確的地方,我相信是這樣,因爲我的fortran技能仍然有限,請讓我澄清我的意思。

感謝, 基督教

回答

0

我是一個團隊是在Fortran 77的主要編寫的程序工作的一部分,這使得利用豐富的隱真等也有,但是,模塊文件已在該在稍後的階段添加,這些是用Fortran 90編寫的,他們使用implicit none。我不知道是否所有這些都可以被認爲是好的做法,但至少它是有效的,迄今爲止這兩種Fortran方言的存在從來沒有提出任何問題(或者我沒有記得......)。所以我懷疑90和77的混合會讓你頭疼。 (僅供參考,我們使用英特爾編譯器)

我現在可能忽略了一些明顯的東西,但乍看之下,我並沒有看到將當前主程序轉換爲GUI子程序的想法,用一些「告訴它做什麼」的參數來調用它。如果沿着這條路走下去,儘可能多的舊代碼儘可能保持原樣 - 讓舊的主程序執行子程序調用等。

儘管如此,構建某種封裝器對於舊程序,即保持原樣,創建一個單獨的GUI,並讓該GUI使用適當的參數調用該程序?我在GUI編程和包裝器創建領域沒有太多經驗,所以我不能告訴你哪種方法更可取,但是這聽起來像是你至少需要修改的路線,而舊的程序可能會仍然可以作爲獨立的命令行工具使用,在某些情況下這可能更可取。

+0

感謝您的回答,抱歉,我的回覆有點晚。 – Christian 2011-01-19 20:42:17