我們設法在Ubuntu 10.10上構建和運行代碼。該代碼使用C++編譯的GCC 4.5和fortran編譯最新版本的ifort。我們可能會被要求支持一個幾年前版本的GCC(仍然在等待客戶端規格)的老式嵌入式Linux平臺。不幸的是,他們的軟件和硬件已用於軍事用途,因此可以升級'。我的問題是,我們是否可能面臨使用舊版GCC構建應用程序的ABI問題,並將它與使用最新版ifort編譯的庫鏈接?舊版GCC的C++/Fortran語言ABI問題
1
A
回答
1
你想從C++調用Fortran代碼,從Fortran調用C++代碼還是兩者都調用?如果您從C++調用Fortran代碼,我認爲您不會遇到任何問題,特別是在使用相同的Fortran編譯器時。
如果您嘗試從Fortran訪問C++代碼,這將取決於C++代碼的性質。如果Fortran可訪問函數使用C鏈接,那麼您應該沒問題,因爲C ABI是標準化的。如果這些函數使用C++連接,我預計會遇到一些麻煩,因爲C++ ABI不是標準化的,我相信GCC多年來對它們的ABI進行了很小的(可能是主要的)更改。
+0
我們用這個方法(C++ to fortran和back)都是這樣。我認爲這是一個很好的機會,我們將不得不在ARM架構上運行,這意味着我們可能不得不在Apache上運行並移植純粹的gcc arm工具鏈代碼。我們最初嘗試使用gfortran獲得代碼構建,但其預處理器的能力不如iforts(我們通過定義通用語言的結構來嚴重依賴它,然後預處理那些結構以生成用於互操作性的C++和fortran版本的結構)。 – FuNkDaDdY 2011-02-20 10:53:49
相關問題
- 1. gcc/g ++的CUDA SDK問題:舊版本的gcc無法找到舊版本的g ++?
- 2. 安裝舊版本的gcc
- 3. 編譯舊版本的gcc
- 4. 語言問題
- 5. 如何使用舊的ABI編譯boost與GCC 5?
- 6. G ++新的ABI問題
- 7. x86_64的ABI:拆卸問題
- 8. OpenCart語言問題
- 9. HTML語言問題
- 10. Wordpress問題語言
- 11. c語言問題
- 12. pChart - 語言問題
- 13. 刪除注GCC ABI變化
- 14. PHP舊語法問題
- 15. 多語言的PHP問題
- 16. 字母的語言問題
- 17. CodeIgniter語言的問題
- 18. 的Joomla 1.6語言問題
- 19. IE的語言問題
- 20. 爲Fedora安裝舊版本的gcc?
- 21. 鏈接到舊版本的gcc
- 22. boost.test與舊版本的問題
- 23. 語義問題的GCC警告標誌
- 24. 與俄語語言的PHP問題
- 25. 語言頭版
- 26. Codeigniter日曆語言問題
- 27. 切換多語言問題
- 28. Wordpress網站語言問題
- 29. 幾個C#語言問題
- 30. picoLisp語言:onOff問題
f77 or f90?... – Anycorn 2011-02-11 09:55:19