2017-10-07 134 views
0

在代码中间有一个C语言语句。我不知道为什么它在那里以及编译器如何不返回错误。是否用于C绑定?这是否意味着这个模块可以被C程序使用,反之亦然?C#包括语句在Fortran代码中做什么?

USE LISTS 
USE LINKEDLIST_ROUTINES 

#include "macros.h" 

IMPLICIT NONE 

PRIVATE 

回答

5

它不是C语言声明,而是C预处理器(cpp)语句。

任何文本文件都可以使用预处理器,甚至是Fortran源代码,但是在编译之前必须调用预处理器。

许多Fortran编译器会用标记-cpp-fpp或类似标志为您调用预处理器。如果文件后缀以大写F开头,他们也可能会为您打电话。

#include "file"所做的与C源文件中的功能相同,它会在该位置插入文件中的文本。

还有一个标准的Fortran(90+)语句include。它是类似的,但发生在任何最终预处理完成后,请参阅Includes revealing with Fortran preprocessor了解更多信息。