我可以在VC ++ 6.0中编译的非DOT-net应用程序中使用VC ++ 2005编译的DLL吗?

时间:2009-09-08 05:23:05

标签: .net visual-studio-2005 visual-c++

我有一个使用VC ++ 6.0开发的应用程序,我想使用VC ++ 2005(visual studio 2005)中编译的一些DLL,这是否可以在这些dll应用程序中使用?我可以将我的应用程序移植到2005,但是有一些问题需要一些时间来修复,我想快速发布,有谁能告诉我这可能会这样做吗?

1 个答案:

答案 0 :(得分:1)

这取决于。如果2005-DLL具有普通的C接口,它应该可以工作。如果 它有一个很可能不起作用的C ++接口。

混合主要编译器版本只有在你考虑周到的情况下才能工作 在设计DLL接口时要小心。原因是这样的 VS2005使用不同的运行时库(msvcr80.dll等) VS6。您必须确保不会删除由该对象创建的对象 另一方。

如果要将两个主要版本的运行时库混合在一起 应用程序,您应该只提供纯接口和功能 控制DLL中定义的对象的生命周期。用C 界面这是微不足道的。使用C ++接口是可能的。但它 您的DLL接口不太可能是使用此用例设计的 心。