C++编译器问题

C++ compiler questions

本文关键字:问题 编译器 C++      更新时间:2023-10-16

我只是想知道C++编译器如何处理某些事情:
首先,如何找出我拥有哪个C++编译器?(GCC?GNU?或者其他什么...(
那么,当我编写 Windows GUI 时,编译器如何隐藏控制台窗口?
(还是在代码中隐藏控制台?
另外,编译时如何包含 dll?
有没有地方可以学习有关编译器的其他所有内容?

编辑:@StuartGolodetz我认为我有minGW,实际上(我正在使用DevCpp(;当我询问如何隐藏控制台窗口或如何包含dlls时,我的意思不是如何在我正在使用的IDE中设置它,而是如何在命令行中执行此操作?

很难回答的问题,因为您的系统上可能有许多不同的编译器,这实际上是一个您正在使用哪个编译器的问题:)也就是说,gcc/g++是基于UNIX的系统上的通用编译器,而Visual C++是Windows上的通用编译器 - 您很有可能使用其中之一。

如果你使用的是基于 UNIX 的系统,并且想知道你是否有g++,比如说,你可以这样做:

which g++

要找出哪个版本(如果有的话(,请执行以下操作:

g++ --version

就Visual C++而言,当您对 Windows GUI 进行编程时隐藏控制台窗口,如果您在项目设置中将子系统设置为 Windows,它就不会显示它。


编译时不包含 DLL,而是链接到与它们对应的.lib文件,然后确保可以在运行时找到它们。请注意编译和链接之间的(重要(区别。这似乎是一个合理的链接:

http://edmulroy.portbridge.com/oview.htm


假设您的编译器是Visual C++(听起来像这样(,您可以通读 MSDN。


编辑:

针对您的新问题,请参阅此处:

如何阻止 Mingw (g++( 在窗口中打开控制台窗口

Re. DLL,您不包括它们 - 您使用 -l<libname> 链接到 DLL 的导入库,然后确保 DLL 本身与可执行文件位于同一目录中或在运行时位于系统路径上。