DLL 的"image version"用于什么(使用 /VERSION Visual C++ 链接器开关设置)?



我已经阅读了Visual c++/VERSION链接器开关(http://msdn.microsoft.com/en-us/library/h88b7dc8.aspx)的文档,我理解这个值在你使用"dumpbin/headers"时显示为"image VERSION ",但我不清楚为什么你会设置"image VERSION "或者如果你不设置它并使用默认值"0.0"会发生什么。

谁能给我解释一下为什么你可能会设置"图像版本"?这个值现在过时了吗?

这是我能找到的最好的解释:http://www.dependencywalker.com/help/html/version_numbers.htm

IMAGE VERSION该值由模块的开发人员通过在DEF文件中使用VERSION语句或使用/VERSION链接器选项设置。它通常表示模块所属的模块或产品的版本,但可以包含任何值,因为它由开发人员设置。如果开发人员没有指定版本,那么该值将默认为0.0。当比较两个模块以检查哪个模块较新时,此值可作为最后手段使用。

最后一句话似乎暗示这是加载DLL时的最后检查(当您的EXE绑定特定的DLL版本时)。这似乎与上面评论中提到的Vista的程序兼容性助手(PCA)的行为一致。

最新更新