C #include语句在Fortran代码中做了什么? [关闭]

问题描述 投票:0回答:1

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

USE LISTS
USE LINKEDLIST_ROUTINES

#include "macros.h"

IMPLICIT NONE

PRIVATE
c fortran c-preprocessor
1个回答
5
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.