Есть ли способ отключить ".pdata" / "ExceptionDir" и "UNWIND_INFO" в выходных данных MSVC? - PullRequest
0 голосов
/ 08 апреля 2019

При компиляции двоичного файла в MSVC (windows) он выводит раздел с именем .pdata и помещает некоторую другую информацию в .RDATA для размотки.

GCC имеет опции компилятора:

-fno-asynchronous-unwind-tables -fno-unwind-tables

, который (в моем тестировании) полностью избавляется от ВСЕХ этих вещей в выходном двоичном файле, но MSVC, похоже, не имеет ничего подобного ...

Мои текущие флаги компилятора:

/Zc:threadSafeInit-
/GR-
/TP
/GS-

...

У меня отключено "Включить исключения C ++", и в компоновщике я использую "/SAFESEH:NO".

, кроме того, я определяю:

#define _HAS_EXCEPTIONS 0

перед включением заголовков STL (чтобы избавиться от всего использования try / catch).

и затем при открытии выходного EXE-файла в IDA ...

pdata dir

как мне избавиться от этого раздела / развернуть информацию?

1 Ответ

1 голос
/ 07 мая 2019

нет такой опции в компиляторе msvc. использовать llvm с visual studio. и используйте опцию ниже. это работает.

/ Clang: -fno-Отмотать столы

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