Воздействие/Недостатки опции rdynamic gcc
Я работаю над проектом Big С++, который имеет огромный размер размером около 300 МБ и более 800 файлов. Я хочу получить стек вызовов, когда Binary Crashes, поэтому я захватил Сигнал и написал стек вызовов из backtrace_symbols в файл. Но чтобы получить имена символов из backtrace_symbols, я скомпилировал с флагом компоновщика '-rdynamic'. Я хочу знать, что использование "-динамического" влияет на любые проблемы.?
Я знаю, что это влияет на производительность,
Будет ли добавлена опция -rdynamic linker для производительности gcc/g++?
Но делает ли это
Эффективно влияют на производительность.?
Предоставляет ли он мой исходный код...? [Я знаю, что это не так, я просто хочу быть уверенным)
Это влияет на общую производительность во время выполнения или время запуска.?
Каковы недостатки "rdynamic"..?
Ответы
Ответ 1
Q: Но действительно ли это влияет на производительность..?
A: Я использовал его в более крупном проекте без какой-либо деградации.
Q: Предоставляет ли он мой исходный код??
A: Нет, он просто раскрывает имена функций.
Q: влияет ли это на общую производительность во время выполнения или время запуска??
A: По моему опыту, нет. Большинство функций уже экспортированы. Обычно это добавляет статические функции.
Q: Каковы недостатки "rdynamic"..?
A: rdynamic может использоваться с dlopen()
, чтобы иметь общую/глобальную таблицу символов для исполняемого файла, которая была обязательной в моем проекте (dynamic_cast < > будет работать через границы SO). Недостатком является столкновение имен функций между SO.