哪个C++;VisualStudio2008(或更高版本)是否使用? 我发现C++是微软世界中非常有争议的语言。默认情况下,我们有ISO C++,微软有“托管C++ >代码>现在是代码> C++ + CLI < < 我只知道标准(ISO)C++。我不知道微软的C++版本。 我对VisualStudio 2008(或更高版本)解释任何C++代码感到困惑。这就是为什么我使用gnu工具来编译我的程序。但我确实喜欢VisualStudio

哪个C++;VisualStudio2008(或更高版本)是否使用? 我发现C++是微软世界中非常有争议的语言。默认情况下,我们有ISO C++,微软有“托管C++ >代码>现在是代码> C++ + CLI < < 我只知道标准(ISO)C++。我不知道微软的C++版本。 我对VisualStudio 2008(或更高版本)解释任何C++代码感到困惑。这就是为什么我使用gnu工具来编译我的程序。但我确实喜欢VisualStudio,c++,visual-studio-2008,visual-studio-2010,C++,Visual Studio 2008,Visual Studio 2010,如果我只想使用,我需要做什么设置 严格地说ISO C++ 托管C++(它被弃用,但我认为它们仍然支持向后兼容) C++CLI(适用于.NET平台) < >我想用C++来构建本地程序集而不是托管程序集。那么,我还需要做什么吗?所有内容都在生成设置中: 公共语言运行时支持(/clr)-添加或删除clr支持 将编译作为C++代码(/TP)来选择C++或C../P> 语言:禁用语言扩展-使用此选项强制ANSI。所有内容都在生成设置中: 公共语言运行时支持(/clr)-添加或删除clr支持 将编译作为C+

如果我只想使用,我需要做什么设置

  • 严格地说ISO C++
  • 托管C++(它被弃用,但我认为它们仍然支持向后兼容)
  • C++CLI(适用于.NET平台)

  • < >我想用C++来构建本地程序集而不是托管程序集。那么,我还需要做什么吗?

    所有内容都在生成设置中:

    公共语言运行时支持(/clr)-添加或删除clr支持

    将编译作为C++代码(/TP)来选择C++或C../P>


    语言:禁用语言扩展-使用此选项强制ANSI。

    所有内容都在生成设置中:

    公共语言运行时支持(/clr)-添加或删除clr支持

    将编译作为C++代码(/TP)来选择C++或C../P>


    语言:禁用语言扩展-使用这来强制ANSI .< /P> < P>当你要求VisualStudio制作一个C++项目时,它会生成一个C++项目。C++/CLI是另一种语言

    VS2008和更早版本已经实现了C++03(或近似实现了C++03。与几乎所有其他编译器一样,标准中有一些部分没有严格遵循。一些功能没有实现(我可以想到的是异常规范、
    export
    关键字或两阶段名称查找),并添加了一些专有扩展

    GCC和大多数大型编译器都做同样的事情,所以这不是微软“邪恶”的例子。扩展可以被禁用,给你留下一个符合标准的编译器

    VC2010正在添加许多C++0x功能(至少在测试版中,我还没有找到禁用这些功能的选项),因此从严格的C++03合规性角度来看,它的合规性会降低


    <>达尼的回答已经告诉你要改变哪些设置来启用/禁用不同的语言方言。

    < P>当你要求VisualStudio制作一个C++项目时,它会生成一个C++项目。C++ + CLI是一种不同的语言。 VS2008和更早版本已经实现了C++03(或近似实现了C++03。与几乎所有其他编译器一样,标准中有一些部分没有严格遵循。一些功能没有实现(我可以想到的是异常规范、
    export
    关键字或两阶段名称查找),并添加了一些专有扩展

    GCC和大多数大型编译器都做同样的事情,所以这不是微软“邪恶”的例子。扩展可以被禁用,给你留下一个符合标准的编译器

    VC2010正在添加许多C++0x功能(至少在测试版中,我还没有找到禁用这些功能的选项),因此从严格的C++03合规性角度来看,它的合规性会降低


    < C++ >达尼的回答已经告诉您要更改哪些设置以启用/禁用不同的语言方言。编译器仍然与GNU编译器有一些细微的差别。它们在帮助文件中被列为“微软特定”。这就是为什么我担心使用VisualStudio/Visual C++的原因。这就是为什么我想知道我如何要求它<代码>严格< /COD>遵循特定的事情。不,“微软特定”并不意味着。“不同于GCC”。它们的意思是“不同于标准ISOC++”。“GCC做了同样的事情,也有一些扩展和不支持的特性。微软最近已经变得更好地区分C++和C++ + CLI。自从VS2008以来,文档添加了一个新的‘Visual C++ C++原生开发’过滤器,而在线MSDN现在已经做出了区分。(非托管)编译器仍然与GNU编译器有一些细微的差别。它们在帮助文件中被列为“微软特定的”。这就是为什么我担心使用VisualStudio/VisualC++的原因。这就是为什么我想知道我如何要求它<代码>严格< /COD>遵循特定的事情。不,“微软特定的”。不是指“不同于GCC”,而是指“不同于标准ISO C++”GCC做了同样的事情,也有一些扩展和不支持的特性。微软最近已经变得更好地区分C++和C++ + CLI。自从VS2008以来,文档添加了一个新的“VisualC++原生开发”过滤器,而在线MSDN现在就可以区分。项目属性。右击C++项目A。NC++ C++ C++语言,选择No.St.属性,确认:1,“MFC使用ISO C++”,2“托管C++和C++/CLI是.NET和C++ + CLI是托管C++的替换”,对吗?我还是找不到。C++中的C++ C++是高级语言,而ANSI是语言部分。使用什么版本的VS?项目属性。右键点击C++项目并选择Projts。只需确认:“1”MFC使用ISO C++“2”,托管的C++和C++ + CLI是.NET和C++ + CLI是托管C++的替代品。.对吗?我还是找不到。我只在“项目属性>配置属性>常规”中找到了“公共语言运行时支持(/clr)”。其余的我还是找不到。c++/c在高级部分,ANSI在语言部分。你使用的是什么版本的VS?