gpt4 book ai didi

c++ - VS 2012 与 VS 2010 的互操作性

转载 作者:行者123 更新时间:2023-11-28 00:23:56 26 4
gpt4 key购买 nike

我用 C++ 编写的应用程序是用 Visual Studio 2010 构建的,它需要链接到两个外部动态库。其中一个库是用 VS 2010 构建的(这里没有问题),但另一个库是用 VS 2012 构建的。这个方案行得通吗?这是常见的——将使用不同编译器版本构建的库链接到应用程序中,而应用程序本身可能是使用不同编译器构建的。如果这行不通或者不鼓励这种做法,我想了解在这种情况下是什么阻碍了互操作性。

最佳答案

如果导出的函数使用“C”接口(interface),并且参数/返回类型是通用的 Windows API 类型,例如 LONGDWORDTSTRBOOL 等或指向这些类型的指针,那么使用用不同版本的 Visual Studio 创建的 DLL 应该没有问题。

就个人而言,我已经使用 VS 2010 构建了 DLL,并将其与使用 VS 6.0 构建的应用程序一起使用,并遵循这些指南。

但是,如果您的 DLL 的导出函数传递诸如 STL 或 MFC 类型或诸如 FILE 之类的类型,那么您就会遇到问题,因为这些类型因编译器版本而异。您别无选择,只能确保您的应用程序和 DLL 的匹配 VS 版本。

关于c++ - VS 2012 与 VS 2010 的互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26048889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com