C#include语句在Fortran代码中做了什么?

eli*_*nie 0 c fortran c-preprocessor

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

USE LISTS
USE LINKEDLIST_ROUTINES

#include "macros.h"

IMPLICIT NONE

PRIVATE
Run Code Online (Sandbox Code Playgroud)

Vla*_*r F 5

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

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

许多Fortran编译器将调用预处理器为你的标志-cpp-fpp或相似.如果文件后缀以capital开头,他们也可能会为您调用它F.

什么#include "file"做的是一样的东西在C源文件呢,它插入在该位置的文件中的文本.

还有一个标准的Fortran(90+)声明include.它类似,但在完成任何最终预处理之后发生,请参阅包含有关Fortran预处理器的更多信息.