• XSS.stack #1 – первый литературный журнал от юзеров форума

Скомпилированный бинаркник хранит реальные имена функций/структур и тд

cppjunior

ripper
КИДАЛА
Регистрация
25.05.2022
Сообщения
57
Реакции
3
Гарант сделки
2
Пожалуйста, обратите внимание, что пользователь заблокирован
Почему когда собираю бинарник в VS2019 и открываю его в Иде, там показывает реальные имена функций, асм заголовки которые есть в реальном проекте. Как скомпилить файл в VS что б не хранил в себе всю эту инфу?
 
Почему когда собираю бинарник в VS2019 и открываю его в Иде, там показывает реальные имена функций, асм заголовки которые есть в реальном проекте. Как скомпилить файл в VS что б не хранил в себе всю эту инфу?
Он не хранит, просто ида автоматом поцепляет pdb файл, а в нем уже вся инфа для отладки.
Project Properties > Linker > Debugging > Generate Debug Info установить на No (хз как в русской версии), и он не будет создаваться.
 
Equi уже ответил на вопрос выше, но вставлю свои пять копеек, так как тема уже создана. Иногда если у вас в коде объявления деструктора есть virtual те: virtual ~Base() {} - то студия так же поместит название класса в бинарный файл, вне зависимости от того подключен ли pdb или нет. В таком случае просто убрать virtual и всё чисто.
 
facepalm
Тогда объясни с точки зрения чистки бинарного файла, чем тебе лично поможет виртуальный деструктор и так ли он необходим там, где главное выполнить полезную нагрузку побыстрее?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
то студия так же поместит название класса в бинарный файл, вне зависимости от того подключен ли pdb или нет
Попробуй RTTI выключить: "/GR-" для студии и "-fno-rtti" для MinGW. Виртуальный деструктор имеет четкое применение, ты не сможешь вызвать деструктор (с помощью delete или еще как-то) унаследованного класса через указатель на базовый класс, если деструктор не виртуальный.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх