Visual Studio 2015 - управление порядком компоновки

У меня есть более старый проект Visual Studio 2010. Недавно я снова заинтересовался этим, поэтому я преобразовал его в проект VS 2015. Все прошло нормально, проблем не было, успешно компилируется.

Теперь проблема заключается в том, что один из созданных.obj должен быть первым, что связан (выходные данные должны быть совместимы с множественной загрузкой, поэтому я должен убедиться, что заголовок мультизагрузки находится там, где он должен быть),

Для более старых версий VS это было сделано слегка хакерским способом: файл, который должен быть первым, имеет имя, начинающееся с "__" (тогда я был как ребенок, не всегда задумываясь о том, как все сделать правильно. пока они работали). Естественно, это больше не работает.

Итак, как можно сказать компоновщику, что ожидается определенный порядок ссылок? Или, в контексте вопроса, как создать мультизагрузочные двоичные файлы с использованием VS 2015?

РЕДАКТИРОВАТЬ: Я уже выбрал правильный ответ, но я хочу отметить, что есть и другой метод, если у кого-то будет такая же проблема. Вы можете указать имя раздела для заголовка мультизагрузки (назовем его.boot), а затем объединить его с текстовым разделом (см. https://msdn.microsoft.com/en-us/library/wxz26dz2.aspx). Чтобы увидеть, как вы можете указать имя раздела для заголовка мультизагрузки, прочитайте документацию вашего ассемблера (или то, что вы используете для генерации.obj с заголовком).

1 ответ

Решение

Все еще немного хакерский, но я бы подумал об использовании #pragma init_seg (lib).

Другие вопросы по тегам