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