首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的程序使用的是哪种C++编译器?

我的程序使用的是哪种C++编译器?
EN

Stack Overflow用户
提问于 2011-08-07 01:46:10
回答 4查看 9.2K关注 0票数 9

我并不是cpp编程方面的专家,在庞大的编程世界中我是一个初学者,因为现在我们只是安装任何IDE并在其中启动我们的程序。我开始使用CodeBlocks集成开发环境,但出于好奇,我想知道我的程序使用的是哪个编译器,因为它可以是4.3.2、4.0.8或其他版本

我试着通读构建日志,它不在那里,一个小谷歌也没有帮助。

有没有什么简单的命令可以让我在我的cpp程序中运行并检查我的IDE正在使用哪个编译器?

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-07 02:50:13

您可以使用宏

代码语言:javascript
复制
__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__

请参阅http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

其他编译器提供自己的宏,例如微软的_MSC_VER

这里有一个非常全面的列表,涵盖了几十个编译器:http://predef.sourceforge.net/precomp.htmlhttp://sourceforge.net/apps/mediawiki/predef/index.php?title=Compilers

票数 3
EN

Stack Overflow用户

发布于 2011-08-07 01:49:47

根据Codeblocks FAQ的说法

事实上,这在很大程度上取决于所使用的编译器插件。与默认代码::块安装提供的一些是GNU的GCC (MinGW/Cygwin),MS Visual C++免费工具包2003,Borland的C++编译器5.5,DigitalMars免费编译器,OpenWatcom,小型设备C编译器和其他。

票数 2
EN

Stack Overflow用户

发布于 2011-08-07 07:04:33

Blocks是一个非常通用的IDE,可以使用很多编译器。您甚至可以为每个项目使用不同的编译器。

根据你安装的版本(我有2009年11月11日的版本,在Windows下运行),当你加载了一个项目时,你可以去“项目菜单”->“构建选项”项,你会看到你正在为该项目使用什么编译器--记下它。关闭该窗口,然后转到“设置”菜单->“编译器和调试器...”项目。在弹出的窗口中,确保您已从左侧列表中选择了“全局编译器设置”图标。切换到"Toolchain executables“页面,您可以从该页面获取项目正在使用的编译器可执行文件的确切路径,方法是确保屏幕顶部的"Selected compiler”下拉框与项目的“匹配”。

获取这些信息的另一种方法是构建您的项目,然后切换到“构建日志”。命令行至少应该将编译器可执行文件作为其显示的文件名的一部分。

根据编译器文件名,您可以确定它是某种类型的GCC派生文件还是其他类型(如MSVC)。在这一点上,找出您正在使用的版本变得特定于编译器。例如,如果是GCC或端口,则可以运行:

代码语言:javascript
复制
<path and filename of compiler> --version

从命令提示符/shell获取版本号。

如果是MSVC,那么只需运行:

代码语言:javascript
复制
<path and filename of compiler>

将显示版本号。

如果你想从你的编译器(虽然从技术上讲它将是预处理器)来做这件事,你将需要知道上面的信息来知道你的编译器是什么,因为你需要知道要检查的预处理器宏,这是依赖于编译器的。

好的一面是,Code::Blocks很可能会使用GCC,除非你专门下载了Windows上不带MinGW的版本。因此,您可能可以使用Ben Voigt描述的方法。

编辑:缺少换行符隐藏了编译器版本的命令行

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6968540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档