Visual Studio 2005中空项目和win32控制台项目之间的差异

时间:2016-08-22 01:59:13

标签: c++ visual-studio

当我在没有IDE的情况下使用GCC时,我只需要创建* .h文件和* .cpp文件。

但是在VS2005中,有两种方法可以创建一个空项目,第一种方法是使用“general - > Empty Project”,第二种方式是“Win32 - > Win32控制台项目 - >下一步 - >清空项目”。

官方example建议采用第二种方式,而不是第一种方式。

那么它们之间有什么不同?

在win32控制台项目中,“子系统”是“控制台”,“字符集”是“unicode”。但在空项目中,“子系统”是“NoSet”,“字符集”是“多字节”。这是什么意思?

3 个答案:

答案 0 :(得分:3)

"空项目"就是这样:空。它根本没有特定的设置,你需要自己设置这样的东西。对于一个空的"控制台项目" IDE使用控制台项目的漂亮标志和设置设置项目,但不添加任何文件。

如果你想要一个控制台程序,那么你肯定应该使用控制台项目类型。

答案 1 :(得分:2)

要添加@JoachimPileborg答案,重要的是项目子系统规范。对于VS2005,有一个目标子系统列表:https://msdn.microsoft.com/en-us/library/fcc1zstk(v=vs.80).aspx

对于空项目,不会设置。

对于Console,它将设置为CONSOLE

我建议将其设置为win32控制台项目,但删除预编译的标头标志并将其设为空

答案 2 :(得分:0)

控制台项目中的#include不是ANSI标准,不适用于其他编译器。