子系统字段,操作系统版本字段和清单 - 有什么区别,我应该提供哪些?

时间:2015-09-12 13:46:55

标签: winapi

this one之类的问题涉及由于未在PE标头中设置正确的子系统版本而导致的问题。我可以在Visual C ++上使用/SUBSYSTEM,在gcc上使用-Wl,--(major/minor)-subsystem-version

但我注意到PE头中还有一个操作系统版本字段。这是由-Wl,--(major/minor)-os-version在gcc上设置的;我在微软的链接器中看不到相同的选项。令我困惑的是,gcc默认将OS字段和子系统字段设置为4.00。那么这两者之间的区别是什么呢?

("图像版本"标题字段是否与其中任何一个相关?)

此外,我发现还可以在清单文件中指定支持的Windows版本。 This question显示有几个被同时使用。

所有这些设置之间的区别是什么?使用其中一个设置有什么好处?或者所有人都在同一时间?

如果我有DLL怎么办?如果链接到它的EXE没有相同设置,那么这些不适用于DLL吗?

感谢。

0 个答案:

没有答案