我并不是cpp编程方面的专家,在庞大的编程世界中我是一个初学者,因为现在我们只是安装任何IDE并在其中启动我们的程序。我开始使用CodeBlocks集成开发环境,但出于好奇,我想知道我的程序使用的是哪个编译器,因为它可以是4.3.2、4.0.8或其他版本
我试着通读构建日志,它不在那里,一个小谷歌也没有帮助。
有没有什么简单的命令可以让我在我的cpp程序中运行并检查我的IDE正在使用哪个编译器?
提前谢谢。
发布于 2011-08-07 02:50:13
您可以使用宏
__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__请参阅http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
其他编译器提供自己的宏,例如微软的_MSC_VER
这里有一个非常全面的列表,涵盖了几十个编译器:http://predef.sourceforge.net/precomp.html和http://sourceforge.net/apps/mediawiki/predef/index.php?title=Compilers
发布于 2011-08-07 01:49:47
根据Codeblocks FAQ的说法
事实上,这在很大程度上取决于所使用的编译器插件。与默认代码::块安装提供的一些是GNU的GCC (MinGW/Cygwin),MS Visual C++免费工具包2003,Borland的C++编译器5.5,DigitalMars免费编译器,OpenWatcom,小型设备C编译器和其他。
发布于 2011-08-07 07:04:33
Blocks是一个非常通用的IDE,可以使用很多编译器。您甚至可以为每个项目使用不同的编译器。
根据你安装的版本(我有2009年11月11日的版本,在Windows下运行),当你加载了一个项目时,你可以去“项目菜单”->“构建选项”项,你会看到你正在为该项目使用什么编译器--记下它。关闭该窗口,然后转到“设置”菜单->“编译器和调试器...”项目。在弹出的窗口中,确保您已从左侧列表中选择了“全局编译器设置”图标。切换到"Toolchain executables“页面,您可以从该页面获取项目正在使用的编译器可执行文件的确切路径,方法是确保屏幕顶部的"Selected compiler”下拉框与项目的“匹配”。
获取这些信息的另一种方法是构建您的项目,然后切换到“构建日志”。命令行至少应该将编译器可执行文件作为其显示的文件名的一部分。
根据编译器文件名,您可以确定它是某种类型的GCC派生文件还是其他类型(如MSVC)。在这一点上,找出您正在使用的版本变得特定于编译器。例如,如果是GCC或端口,则可以运行:
<path and filename of compiler> --version从命令提示符/shell获取版本号。
如果是MSVC,那么只需运行:
<path and filename of compiler>将显示版本号。
如果你想从你的编译器(虽然从技术上讲它将是预处理器)来做这件事,你将需要知道上面的信息来知道你的编译器是什么,因为你需要知道要检查的预处理器宏,这是依赖于编译器的。
好的一面是,Code::Blocks很可能会使用GCC,除非你专门下载了Windows上不带MinGW的版本。因此,您可能可以使用Ben Voigt描述的方法。
编辑:缺少换行符隐藏了编译器版本的命令行
https://stackoverflow.com/questions/6968540
复制相似问题