Воздействие/Недостатки опции 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.