如果第 3 方开发人员向我们提供使用 VC++ 2005 生成的 .libs 和/或 .dll,它们可以在 VC++ 2008 中使用吗?如果他用 2008 Pro 编译,而我们运行 2008 Standard/Express 呢?
我知道 C++ 不像以前那样可移植,VC++ 运行时等等,但我想至少我们可以在较新版本的 VC++ 中使用预先存在的库/dll。
如果第 3 方开发人员向我们提供使用 VC++ 2005 生成的 .libs 和/或 .dll,它们可以在 VC++ 2008 中使用吗?如果他用 2008 Pro 编译,而我们运行 2008 Standard/Express 呢?
我知道 C++ 不像以前那样可移植,VC++ 运行时等等,但我想至少我们可以在较新版本的 VC++ 中使用预先存在的库/dll。
关于 2008 Pro 与 2008 Standard/Express 版本的问题,它们生成的代码是 100% 兼容的。我在 Pro 上开始了项目,然后在 Express 上继续开发它们,反之亦然。
各种 2008 版本生成的二进制文件将是兼容的。所有这些变化都是 IDE 中可用的功能。
您将无法将 2005 .libs 与 2008 一起使用 - 它们链接到不同的运行时库,并且对象布局和 vtable 结构可能略有不同。
您也许可以在不同版本之间使用 .dll,但这在很大程度上取决于 .dll 的接口。如果它导出类或方法,将类作为参数或返回它们,那么可能不会。