Для чего используется «версия изображения» библиотеки DLL (устанавливается с помощью переключателя компоновщика / VERSION Visual C ++)? - PullRequest
5 голосов
/ 13 сентября 2011

Я прочитал документацию по переключателю компоновщика Visual C ++ / VERSION (http://msdn.microsoft.com/en-us/library/h88b7dc8.aspx), и я понимаю, что это значение отображается как «версия изображения», когда вы используете «dumpbin / headers», но оно Мне не понятно, почему вы устанавливаете «версию изображения» или что происходит, если вы не установите ее и используете значение по умолчанию «0.0».

Может ли кто-нибудь объяснить мне, почему вы можете установить «версию изображения»? Это значение сейчас устарело?

1 Ответ

2 голосов
/ 08 мая 2015

Вот лучшее объяснение, которое я смог найти: http://www.dependencywalker.com/help/html/version_numbers.htm

ВЕРСИЯ ИЗОБРАЖЕНИЯ Это значение устанавливается разработчиком модуля с помощью оператора VERSION в их DEFфайл или с помощью опции компоновщика / VERSION.Обычно он представляет версию модуля или продукта, частью которого является модуль, но может содержать любое значение, так как его должен установить разработчик.Если разработчик не указывает версию, это значение по умолчанию будет равно 0.0. Это значение может использоваться в качестве крайней меры при сравнении двух модулей для проверки, какой модуль является более новым.

Последнее предложение, по-видимому, подразумевает, что оно используется в качестве последней проверки при загрузке.DLL (когда ваш EXE-файл связывает определенную версию DLL).Похоже, это соответствует поведению помощника по совместимости программ (PCA) в Vista, упомянутому в комментарии выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...