【求助】请问:如何在FORTRAN中调用C程序?
向高手请教!!回复: 【求助】请问:如何在FORTRAN中调用C程序?
一般说来Fortran调C比较简单,因为Fortran是认函数名(文件名)的,只需要注意一个问题,
将c的子程序接口名称变一下,这也只是Fortran和C定义习惯的不同
比如 有一个C的子程序
myc()
{
......
}
应该改为类似下面的形式
void myc_()
{
myc1();
}
void myc1()
{
......
}
这里myc1()就是原来的myc(),
大概就是这样了,但形式可能有不同,可能编译系统定义有关,试试吧。
回复: 【求助】请问:如何在FORTRAN中调用C程序?
在fortran中调用时,如下call myc()
回复: 【求助】请问:如何在FORTRAN中调用C程序?
看得不是很明白,void myc_() 有什么作用?
为什么要把myc()改为myc1()?
能不能举个详细点的例子?
回复: 【求助】请问:如何在FORTRAN中调用C程序?
void myc_()的作用主要是让C的函数定义习惯与Fortran的一致,在一些大型级上可能不需要这样,不过一般的编译器都需要这样写。至于myc()->myc1()主要是防止函数名重复,可能不需要改的,你试试。
比如在Linux下,
按照上面所说的改好C子程序后,编译成.o的文件
再与主程序连接起来。
主程序调用时就和fortran子程序一样了,当然还要注意数据类型的问题。
回复: 【求助】请问:如何在FORTRAN中调用C程序?
附一个例子回复: 【求助】请问:如何在FORTRAN中调用C程序?
另外,我也有一个问题在C调Fortran子程序时,相应的头文件该如何写阿?
C是认函数的,我也看过一些例子,可是太乱了,
不知道谁有经验以及简单例子的,奉献出来吧,
万分感谢! 很好的帖子,解了心头之惑 又学了一招,很不错呀 感谢高手出手解答 谢谢!顶起来!
页:
[1]