我发现C ++在微软世界中是一种非常有争议的语言。默认情况下,我们有ISO C ++,然后microsoft有Managed C++
,现在有C++ CLI
。
我只知道标准(ISO)C ++。我不知道微软的C ++版本。
我对visual studio 2008(或更高版本)对任何c ++代码的解释感到困惑。这就是为什么我使用gnu工具来编译我的程序。但我确实喜欢Visual Studio。
如果我只想使用
,我需要进行哪些设置STRICTLY
ISO C ++ 我想使用C ++而不是托管组件构建本机程序集。那么,我还需要做什么吗?
答案 0 :(得分:7)
所有内容都在构建设置中:
公共语言运行时支持(/ clr) - 添加或删除CLR支持
高级编译为C ++代码(/ TP) - 选择c ++或c ..
语言:禁用语言扩展 - 使用此方法强制ANSI。
答案 1 :(得分:0)
当您要求Visual Studio制作C ++项目时,它会创建一个C ++项目。 C ++ / CLI是一种不同的语言。
VS2008及更早版本已经实现了C ++ 03(或者近似它。与几乎所有其他编译器一样,标准中有些内容没有被遵循。有些功能没有实现(异常规范,{{ 1}}关键字或两阶段名称查找是我能想到的),并且还添加了一些专有扩展。
GCC和大多数大型编译器完全相同,所以这不是微软这样“邪恶”的情况。可以禁用扩展,为您提供合理的符合标准的编译器。VC2010正在添加许多C ++ 0x功能(至少在测试版中,我还没有找到禁用这些功能的选项),所以从严格的C ++ 03合规性角度来看,它会变得不那么顺从。
Dani的回答已经告诉您要更改哪些设置以启用/禁用不同的语言方言。