GCC 中 -x 标志的输入和输出 "languages" 是什么意思?
What do the input and output "languages" for the -x flag in GCC mean?
我正在尝试编译一段以前在 ifort 中用 gfortran 编译的代码。旧的编译行中有一个 -xf95-cpp-input
选项,对我来说没有意义。
查看 GCC 文档,-x
选项似乎告诉编译器忽略源代码文件的文件扩展名,并使用您指定的语言显式解析它。因此,例如,我可以 运行 gfortran -xf77 myfunkycode.lulwut
它会将我的 .lulwut
文件解析为 f77 文件。
这是有道理的,但是 f95-cpp-input
或 c++-cpp-output
是什么意思呢? 'input' 和 'output' 在这种情况下是什么意思?我猜“输入”是源代码? “输出”是目标文件?根据文档,-x
仅用于选择“输入文件的语言”,为什么 'output' 根本不在语言列表中?
f95-cpp-input
将源文件编译为 f95 文件使用 cpp 预处理器。
c++-cpp-output
将源文件编译为 C++ 文件无需 cpp 预处理器。
What do 'input' and 'output' even mean in this context?
我想这只是一个惯例。
我正在尝试编译一段以前在 ifort 中用 gfortran 编译的代码。旧的编译行中有一个 -xf95-cpp-input
选项,对我来说没有意义。
查看 GCC 文档,-x
选项似乎告诉编译器忽略源代码文件的文件扩展名,并使用您指定的语言显式解析它。因此,例如,我可以 运行 gfortran -xf77 myfunkycode.lulwut
它会将我的 .lulwut
文件解析为 f77 文件。
这是有道理的,但是 f95-cpp-input
或 c++-cpp-output
是什么意思呢? 'input' 和 'output' 在这种情况下是什么意思?我猜“输入”是源代码? “输出”是目标文件?根据文档,-x
仅用于选择“输入文件的语言”,为什么 'output' 根本不在语言列表中?
f95-cpp-input
将源文件编译为 f95 文件使用 cpp 预处理器。
c++-cpp-output
将源文件编译为 C++ 文件无需 cpp 预处理器。
What do 'input' and 'output' even mean in this context?
我想这只是一个惯例。