看板 Programming 關於我們 聯絡資訊
搞定了...算是 應該是64bit機器的問題 原本的code用32bit機器是ok的 ※ 引述《HomeboyWu (William)》之銘言: : C++的部份 : main.cc: : ================================================ : #include <iostream> : extern "C"{ : float lala_(float* y); ^^^^^改用double : } : int main() : { : float a = 3; : std::cout<< lala_(&a) << std::endl; : return 0; : } : ================================================ : FORTRAN的部份 : test.f: : ================================================ : real function lala(y) : real y : lala=y**2 : write(*,*),lala : return : end : ================================================ : 編譯 : g77 -c test.f : g++ main.cc test.o -lg2c : ./a.out : 結果 : 9. -> fortran裡面write出來的 : 0 -> c++裡面cout : 可是這兩個東西應該一樣是9的啊 : 我是不是漏了什麼東西? : 請指點一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.101.46