我正在开发一个软件开发工具包,我们的客户仍然在使用VC++ 6编码,而其他客户使用Visual Studio2005和其他使用2008的客户。
目前,我们构建了几种风格的SDK,其中我们使用每个编译器构建完全相同的源代码。我想知道这是否真的有必要。用VS2008构建我们的软件开发工具包(以DLL的形式),并期望使用VC++ 6的客户能够顺利使用它,这样安全吗?
发布于 2009-09-04 13:08:47
视情况而定。您的DLL依赖于VC运行时、MFC还是ATL?如果是这样的话,你的客户将不得不分发这些dlls。您的dll是否导出C++结构/类/函数?没有针对C++的标准ABI,因此它们可能与其他编译器一起工作,也可能不与其他编译器一起工作。如果你的dll只导出extern "C“{}样式,那就没问题了。
发布于 2009-09-04 13:09:57
如果您不允许客户端程序删除在SDK中分配的内存,这是非常安全的。反之亦然。
发布于 2009-09-04 13:18:58
如果DLL有一个纯C API,你的可执行文件永远不会释放DLL分配的任何资源(反之亦然),那么它应该可以工作。
https://stackoverflow.com/questions/1379131
复制相似问题