回 帖 发 新 帖 刷新版面

主题:f90

我用的是fortran6.0,,有个程序里面有好多include语句,怎么一编译就错了,那个include的程序怎么不是以end结束啊,是不是要用f90编译器啊?

回复列表 (共3个回复)

沙发

include的东西相当于直接插入到代码里面. 只是代码中的一部分. 所以他还没有到end.

板凳


我的问题可以详细描述如下,本人菜鸟,希望能解释详细点

fortran77中include *.f,不知道*.f文件是否需要在最后加上end结束,因为原程序没有写end,而我编译的时候出现错误:Error: Syntax error, found END-OF-FILE when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM TYPE COMPLEX BYTE CHARACTER ...,当我在*.f文件中加入end时,则编译没有问题了,可是链接的时候出现很多错误,因为*.f中定义了参数的值,不知道该如何修改:(请大家帮帮忙:)

3 楼

那要看你的.f文件是不是包含一个完整的函数. 如果是完整的函数就有一个完整的开始和结束. 只是写end其实并不好. 是function就对应end function, 是subroutine就对应end subroutine. 当然都是end也可以, 只是不方便某些情况下阅读.
反正include的东西可以是完整的也可以是片段. 本身跟扩展名本身是无关的. 当然"*.f"文件确实一般是fortran文件, 可能是完整的.
根本来讲, 具体还是你想象这些代码东西都插入到文件里面是否合服fortran的语法就是了, 不能说死一个表象的规则.

我来回复

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