Co to jest narzędzie Linux, aby zmienić nazwę symbolu C ++?

mamc++filt komenda do odwzorowania symbolu, jakie jest narzędzie do wykonania odwrotnego i obrócenia nazwy symbolu?

Byłoby to przydatne, gdybym chciał zadzwonićdlsym() na zniekształconej nazwie funkcji C ++. Wolałbym raczej nie kodować nazwy kodu w kodzie, ponieważ może się ona zmieniać z czasem z powodu nowych kompilacyjnych wersji lub nowych marek kompilatorów używanych lub obecnie z powodu kompilacji dla wielu platform.

Czy istnieje programowy sposób na uzyskanie ciągu reprezentującego funkcję C ++ w czasie wykonywania, tak aby kod był niezależny od kompilatora? Jednym ze sposobów, aby to zrobić, byłoby wywołanie narzędzia w czasie kompilacji, które wykona zniekształcanie nazwy dla używanego kompilatora i wstawi odpowiednią zniekształconą nazwę symbolu C ++ w łańcuch dladlsym() używać.

Oto najbliższe rozwiązanie, które znalazłem na tej stronie który jest realizowany przez użycie stałej nazwy stylu C do symboli pośrednich do C ++, które są zdefiniowane w bibliotece, którą chceszdlsym(), ale jeśli nie masz kontroli nad tym, co zapewnia ta biblioteka, nie jest to opcja.

questionAnswers(4)

yourAnswerToTheQuestion