При компиляции двоичного файла в 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
как мне избавиться от этого раздела / развернуть информацию?