Мне нужно удалить неиспользуемые функции из большого проекта на C++. Прочитав некоторое время, я использовал эту ссылку: How can I know which parts in the code are never used?разрешить имя mangling без C++ filter
Скомпилировать на RedHat с помощью make-файлов. Я добавил компилятора флаги:
-Wall -Wconversion -ffunction сечения -fdata сечения
и линкера флагами:
-Wl, -rpath, --demangle, - дс -разделы, - print-gc-sections
По какой-то досадной причине я получаю выход после смены даже после использования --demangle. Например:
/usr/bin/ld: Removing unused section '.text._ZN8TRACABLED0Ev' in file 'CMakeFiles/oded.dir/oded.cpp.o' /usr/bin/ld: Removing unused section '.text._ZN8TRACABLED1Ev' in file 'CMakeFiles/oded.dir/oded.cpp.o'
Поэтому у меня есть 6000 имен функций мне нужно unmangle и я не могу использовать extern C
.
Я могу написать сценарий, чтобы разобрать его и использовать C++ filt, но Im ищет решение, которое сделает компоновщик unmangle функцией самостоятельно!
Кто-нибудь знает, существует ли такое решение?
Спасибо! Похоже, я поеду по сценарию (: – kurdt