使用纯C++编译器与Visual C++

dar*_*saj 6 c++ ide compiler-construction visual-c++

我四处寻找这些问题的答案,但我运气不好.所以,我想我会在这里发布它们以获得一些澄清.如果这是重复的,请告诉我,我会关闭它.

好吧,说到这里,我想开始学习C++.我来自C#背景,我非常尊重Visual Studio以及它能做些什么.现在,我的问题是.Visual Studio的编译器与C++相比,非Microsoft版本(如MinGW)的效果如何?

我的意思是这个.我对微软没有任何不妥,但我真的希望以"纯粹"的形式学习C++,而不是任何特定的实现..NET Framework上的Visual C++有多依赖?是否可以通过Visual Studio创建"纯"C++应用程序,而无需任何.NET使用或开销?Visual Studio编译器是否像使用C#/ VB一样将C++编译为CIL,还是像其他人一样将其编译为完全?

感谢任何人都能提供的帮助!

Tom*_*eys 20

Visual C++编译器将C++代码编译为与.NET框架无关的独立EXE.

获得.NET行李的唯一方法是将C++编译为"托管".

如果您创建一个新项目(文件|新建|新建项目)然后从项目类型的Visual C++子菜单中选择"Win32"并选择"Win32控制台应用程序"Visual Studio将创建一个包含几个源文件的简单项目编译成一个小可执行文件.

大多数时候,Visual C++与其他编译器非常相似.避免使用#pragmas,microsoft libraries(MFC,ATL),你应该没问题.

编辑(感谢Cheeso) - Visual C++与标准不同的文档.

一般来说,我建议将boost库用于线程和网络,因为它们可以在许多平台上运行(即linux).此外,如果您的代码可以在GCC和Visual Studio中编译,那么您在保持可移植性方面做得很好.

  • MS记录了VC++从C++标准转移的地方.http://msdn.microsoft.com/en-us/library/x84h5b78.aspx (7认同)

小智 6

VC++的最新版本已经变得更加符合C++标准,因此使用Visual Studio编写"纯"C++并不是一个真正的问题,假设您不在Windows API,COM​​ +和ATL之外.实际上,Visual Studio的文档非常丰富,有关标准库和STL的详细信息,因此它可以帮助您学习很多东西.它无法教会你所有的东西,但它确实装载了大量可以移植到任何编译器的信息,并且很容易在IDE内部访问.

  • 此外,调试器仍然是最好的之一,特别是因为您可以在任何地方拖放程序计数器(调试期间的小黄色箭头),并且监视窗口对您键入的语句进行非常复杂的评估. (3认同)