Visual Studio 2015 - 控制链接顺序

时间:2015-10-31 20:01:40

标签: visual-studio linker multiboot

我有一个较旧的Visual Studio 2010项目。最近我重新获得了它的兴趣所以我把它转换成了VS 2015项目。一切都很顺利,没有报告任何问题,它编译成功。

现在,问题在于,创建的.obj之一必须是第一个链接的东西(输出必须是多引导兼容的,因此我必须确保多引导头是它应该的是)。

对于旧版本的VS,这是以略微hackish的方式完成的:必须是第一个的文件名称以'__'开头(当时我就像个小孩,并不总是在考虑如何只要他们工作就做正确的事情)。当然,这不再适用了。

那么,如何告诉链接器预期某个链接顺序?或者,在问题的上下文中,如何使用VS 2015构建符合多重引导的二进制文件?

编辑:我已经选择了正确的答案,但我想指出,如果有人遇到同样的问题,还有另一种方法。您可以为多引导标头指定一个部分名称(让我们称之为.boot),然后将其与文本部分合并(请参阅https://msdn.microsoft.com/en-us/library/wxz26dz2.aspx)。要了解如何为多引导标头指定节名称,请阅读汇编程序的文档(或用于生成带标题的.obj的文档)。

1 个答案:

答案 0 :(得分:0)

仍有点hackish,但我考虑使用#pragma init_seg(lib)