输入和输出是什么;语言“;对于GCC中的-x标志意味着什么?

输入和输出是什么;语言“;对于GCC中的-x标志意味着什么?,gcc,compiler-options,Gcc,Compiler Options,我正在尝试编译一段代码,这段代码以前是用ifort中的gfortran编译的。旧的编译行中有一个-xf95 cpp input选项,这对我来说没有意义 在GCC文档中,似乎-x选项告诉编译器忽略源代码文件的文件扩展名,并使用您告诉它的语言显式解析它。例如,我可以运行gfortran-xf77 myfunkycode.lulwut,它会将我的.lulwut文件解析为一个f77文件 这是有道理的,但是f95 cpp输入或c++-cpp输出意味着什么?在这种情况下,“输入”和“输出”到底意味着什么?我

我正在尝试编译一段代码,这段代码以前是用ifort中的gfortran编译的。旧的编译行中有一个
-xf95 cpp input
选项,这对我来说没有意义

在GCC文档中,似乎
-x
选项告诉编译器忽略源代码文件的文件扩展名,并使用您告诉它的语言显式解析它。例如,我可以运行
gfortran-xf77 myfunkycode.lulwut
,它会将我的
.lulwut
文件解析为一个f77文件

这是有道理的,但是
f95 cpp输入
c++-cpp输出
意味着什么?在这种情况下,“输入”和“输出”到底意味着什么?我猜“输入”是源代码?“输出”是目标文件吗?根据文档,
-x
仅用于选择“输入文件的语言”,为什么“输出”会出现在语言列表中

f95 cpp输入

使用cpp预处理器将源文件编译为f95文件

c++-cpp输出

编译源文件为C++文件,无CPP预处理器。 在这种情况下,“输入”和“输出”到底意味着什么

我想这只是个惯例

f95 cpp输入

使用cpp预处理器将源文件编译为f95文件

c++-cpp输出

编译源文件为C++文件,无CPP预处理器。 在这种情况下,“输入”和“输出”到底意味着什么


我想这只是一个惯例。

一般来说,“lang1-lang2-input”表示“带有lang2预处理器的lang1”,而“lang1-lang2-output”表示“没有lang2预处理器的lang1”?对于“c++-cpp输出”,仅使用c对预处理器做了什么?或者没有预处理器?就此而言,“c++-cpp输出”和“cpp输出”有什么区别?我猜
cpp输出
是没有cpp的c源文件<代码> C++ +CPP输出是没有CPP的C++源文件。似乎要签出-
printf“%s\n”#定义一个main“int a(){}”gcc-x cpp输出-
失败,未定义main-
#
是注释。
所以一般来说,
不知道,对我来说没有意义,我只会记住这些选项<对于“C++ +CPP输出”,它是如何处理预处理器的,只使用C?< /C>,它编译文件为C++而不运行预处理器。不涉及C<代码>或没有预处理器?字面上说,是的。当你说“没有cpp预处理器”时,我首先想到的是“好吧,我想你可以使用不同的预处理器”,因为你没有说“没有任何预处理”。没有任何预处理器步骤的编译让我觉得奇怪和陌生。所以一般来说,“lang1-lang2-input”的意思是“lang1带lang2预处理器”和“lang1-lang2-output”是指“lang1不带lang2预处理器”?对于“c++-cpp输出”,它对预处理器做了什么,只是使用c?还是不使用预处理器?就此而言,“c++-cpp输出”和“cpp输出”有什么区别“?我猜,
cpp输出
是没有cpp的C源文件<代码> C++ +CPP输出是没有CPP的C++源文件。似乎要签出-
printf“%s\n”#定义一个main“int a(){}”gcc-x cpp输出-
失败,未定义main-
#
是注释。
所以一般来说,
不知道,对我来说没有意义,我只会记住这些选项<对于“C++ +CPP输出”,它是如何处理预处理器的,只使用C?< /C>,它编译文件为C++而不运行预处理器。不涉及C<代码>或没有预处理器?字面上说,是的。当你说“没有cpp预处理器”时,我首先想到的是“好吧,我想你可以使用不同的预处理器”,因为你没有说“没有任何预处理”。没有任何预处理器步骤的编译让我觉得奇怪和陌生。