考虑以下模型情况:
DLL接口未更改,但实现确实如此。是否有必要将可执行文件链接到新的导入库?应用程序和DLL都使用相同的编译器和链接器在同一个IDE中进行编译和链接。
DLL接口未更改,但实现确实如此。新版本的应用程序和DLL在IDE 2.0版中编译和链接(符号含义,例如用C ++ Builder XE2替换)。是否可以将应用程序二进制文件与在IDE 1.0版本(例如C ++ Builder 6)中编译的旧版本导入库链接?程序是否运行正常而没有一些运行时错误(例如访问冲突)?
答案 0 :(得分:2)
与相同的编译器制造商和版本保持一致,即使是错位的名称也是一样的,所以你应该对#1没问题。
#2可以,这意味着可能会考虑,引入名称修改兼容性,可能会咬你。如果您的导出都是“C”样式(简单名称)和/或通过.def文件硬映射到非损坏的ID(或者您按顺序加载,这些天似乎没有人这样做了),#2仍有可能。