C++ 为什么使用C+的命名标准+;功能不存在?
我为AutoCAD编写插件。如果我编写托管(即.net)插件,那么我可以使用任何Visual Studio版本,该版本可以与AutoCAD使用的.net Framework版本配合使用(非常方便):C++ 为什么使用C+的命名标准+;功能不存在?,c++,visual-studio,visual-c++,C++,Visual Studio,Visual C++,我为AutoCAD编写插件。如果我编写托管(即.net)插件,那么我可以使用任何Visual Studio版本,该版本可以与AutoCAD使用的.net Framework版本配合使用(非常方便): AutoCAD 2009可以使用.NET 3.0、3.5 AutoCAD 2010可以使用.NET 3.5 AutoCAD 2016可以使用.NET 4.5、4.5.1 因此,通过Visual Studio 2013,我可以为AutoCAD 2009-2016编写.net插件 但有时我需要为A
- AutoCAD 2009可以使用.NET 3.0、3.5
- AutoCAD 2010可以使用.NET 3.5
- AutoCAD 2016可以使用.NET 4.5、4.5.1
我知道,这个问题是因为C++函数命名标准不存在,每个版本的VS都有自己的名字生成规则,这些函数没有被代码>外部的“C”< /代码>标记。p> 但为什么这个标准还不存在呢?原因是什么?我相信这个理由是存在的。这种行为是不令人信服的,不仅仅是对我来说(我问过其他程序员)。但是他们不知道为什么每个新版本都有自己的C++函数命名规则,为什么C++函数的命名标准不存在。
谢谢。确实存在标准,请参阅 但并不是所有的编译器都使用它,因为它们有自己多年来一直使用的破坏约定,并且出于各种原因不想更改它们
在你的例子中,VisualStudio不同版本之间的差异不仅仅是名称的篡改,C++运行库和标准库也有变化。
很可能是因为它链接到运行库的不同版本。您可以提前失败(程序不会启动),而不是延迟失败(程序可能会在过程中损坏数据)。