回 帖 发 新 帖 刷新版面

主题:F2C使用问题

各位好!以前没用过fortran,公司有些F77的程序,想要把他转成C,在网上找了F2C,但是总不能转译成功,是不是我设置有什么问题?
error on line 1: illegal continuation card <starts "f2c ex">

回复列表 (共8个回复)

沙发

F2C不能保证总转换成功的,有些特殊的情况是无法转换的:)
比如一些无法等效转换的情况:)
Fortran允许一个函数有多个入口,而C是不允许的:)
Fortran允许同一块内存存在不同的意义,C倒是可以用指针来解决,但后果未知。
Fortran的同一个名称的公共区可以有不同的排列以实现一些特殊的需求,而C如果想用union来对应的话也会很麻烦~~~
……

板凳

谢谢回帖,但是我现在不能确定是我F2C设置使用有问题还是原程序不能转换,你能不能给介绍下F2C在windows下使用方法。或者帮我介绍下为什么原来在98下能跑的程序现在在xp下不能跑了?重新编译下可以吗?这些程序都是原来老师傅们写的。

3 楼

建议您还是重编译一下您的FORTRAN程序吧,如果是在XP,可以用CVF或是IVF:)牛X点儿可以用gcc:)

4 楼

再麻烦你一下,我用CVF重新编译,总是出现无法找到INIT的问题。
NINT不是FORTRAN的内部函数吗?这是怎么回事呢?
SN1.OBJ : error LNK2001: unresolved external symbol _FINT@20
SN2.OBJ : error LNK2001: unresolved external symbol _NINT@8

5 楼

查找一下NINT,应该是此函数里的类型错误:)

6 楼

查过参数了,是REAL;NINT(IDO)多次出现,但是就只有在一个地方会出错,这是为什么呢?

7 楼

IDO?
这个I打头的不是整型?

8 楼

确实是REAL。不过不管他了,看了下程序逻辑,都是给赋的整数,就先把NINT去了,总算生成成功了。谢谢你了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册