什么是DLL的“映像版本”用于(使用/ VERSION Visual C ++链接器开关设置)?

时间:2011-09-13 14:04:30

标签: visual-c++ dll

我已经阅读了Visual C ++ / VERSION链接器开关(http://msdn.microsoft.com/en-us/library/h88b7dc8.aspx)的文档,我知道当您使用“dumpbin / headers”时,此值显示为“图像版本”,但它是不清楚为什么你会设置“图像版本”或如果你没有设置它并使用默认值“0.0”会发生什么。

有人可以向我解释为什么你可以设置“图像版本”吗?这个值现在已经过时了吗?

1 个答案:

答案 0 :(得分:2)

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

  

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

最后一句似乎意味着在加载DLL时(当您的EXE绑定特定的DLL版本时)将其用作最后一项检查。这似乎与上面评论中提到的Vista的程序兼容性助手(PCA)所看到的行为一致。