通过gfortran丢失宏的cpp

时间:2019-07-10 07:46:22

标签: fortran c-preprocessor gfortran

我正在尝试使用cpp的

用Windows / Linux开关编译fortran程序

#ifdef __linux__

直接运行cpp时,将定义__linux__宏:

cpp -E -dM test.f90 | grep linux

#define __linux 1
#define __linux__ 1
#define __gnu_linux__ 1
#define linux 1

但是通过gfortran运行时(如我要编译程序),它们不是:

gfortran -cpp -E -dM test.f90 | grep define

#define __ATOMIC_ACQUIRE 2
#define __CHAR_BIT__ 8
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __ORDER_PDP_ENDIAN__ 3412
#define __FINITE_MATH_ONLY__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __GFORTRAN__ 1
#define __STDC_HOSTED__ 0
#define __NO_MATH_ERRNO__ 1
#define __SIZEOF_FLOAT__ 4
#define __pic__ 2
#define _LANGUAGE_FORTRAN 1
#define __SIZEOF_LONG__ 8
#define __SIZEOF_SHORT__ 2
#define __GNUC__ 7
#define __pie__ 2
#define __SIZEOF_LONG_DOUBLE__ 16
#define __BIGGEST_ALIGNMENT__ 16
#define __ATOMIC_RELAXED 0
#define _LP64 1
#define __ORDER_BIG_ENDIAN__ 4321
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __SIZEOF_SIZE_T__ 8
#define __PIC__ 2
#define __SIZEOF_DOUBLE__ 8
#define __ATOMIC_CONSUME 1
#define __GNUC_MINOR__ 4
#define __PIE__ 2
#define __LP64__ 1
#define __ATOMIC_SEQ_CST 5
#define __SIZEOF_LONG_LONG__ 8
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3
#define __VERSION__ "7.4.0"

我在做什么错了?

0 个答案:

没有答案