Влияние / недостатки 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.

Другие вопросы по тегам