如何设置和访问自定义预处理器变量?

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

我正在致力于使 Fortran 应用程序在 Windows 和 Linux 上运行。到目前为止,还仅限于 Windows。目前,Linux 版本完全基于终端,而 Windows 版本则具有 GUI。我们最终将拥有 Linux 版本的 GUI。

为了处理 Windows 和 Linux 之间的差异,我一直在使用预处理器指令,例如

!DEC$ IF DEFINED(_WIN32)
...
!DEC$ ELSEIF DEFINED(__linux)
...
!DEC$ ENDIF

这非常适合我现在的需要,因为我知道 Windows 版本总是有 GUI,而 Linux 版本从来没有 GUI。但是,我想将其分开,以便最终我可以在两个操作系统上同时拥有 GUI 和无 GUI 构建。

有没有一种方法可以设置我自己的预处理器变量,以便我可以有类似的语句

!DEC$ IF DEFINED(GUI)
...
!DEC$ ELSE
...
!DEC$ ENDIF

基本上,我如何告诉预处理器我想要一个名为

GUI
的变量以及如何设置它的值?我知道我可能没有使用正确的术语,因为我对这种编程不太熟悉。请随意纠正我的语法。

fortran preprocessor-directive
1个回答
0
投票

这通常是通过构建变体的命令行选项来完成的。大多数编译器为此使用 -D (或 /D),例如

-DGUI
,它定义了一个您可以测试的符号
GUI
(该值将为 1,除非您给出不同的值。)请检查编译器的文档以了解看看有什么选项。

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