Создание исполняемого файла без перемещений в Visual Studio - PullRequest
1 голос
/ 23 апреля 2019

Почему меня это волнует? Я работаю над приложением, связанным с безопасностью, и оно подписано. Перестановки портят подпись, поэтому ее невозможно проверить во время работы.

И я не нуждаюсь в переезде. все можно сделать относительно. возможно немного медленнее.

как мне убедить компилятор выдавать код без перемещений?

Visual Studio 2015, C ++ и Nasm для некоторых частей, x64.

Редактировать: уточняю, мне все еще нужно, чтобы он был независим от позиции. поскольку я не контролирую, где программа будет загружена. просто используя относительный доступ, а не перемещения.

1 Ответ

1 голос
/ 23 апреля 2019

Попробуйте указать флаг /FIXED.

По документам (https://docs.microsoft.com/en-us/cpp/build/reference/fixed-fixed-base-address?view=vs-2015):

Когда указано / FIXED, LINK не создает раздел перемещения в программе. Во время выполнения, если операционная система не может загрузить программу по указанному адресу, она выдает сообщение об ошибке и не загружает программу.

...