作者HomeboyWu (William)
看板Programming
标题[问题] 请问在c++呼叫fortran函式回传值不对
时间Mon Jul 16 19:00:25 2007
C++的部份
main.cc:
================================================
#include <iostream>
extern "C"{
float lala_(float* y);
}
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