Фильтр C++ не работает. Разборчивость имен в C++

символ в файле карты ссылок

      0x10AEB7A48 0x00000034  [14199] __ZZZZZZZZZZN5kinda16FillCardInfoPage6renderEvENK3$_2clENSt3__110shared_ptrINS_12MMViewLayoutEEEENKUlNS3_INS_12MMScrollViewEEEE_clES7_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlNS3_INS_14MMBankEditViewEEEE_clESF_ENUlRKNS3_INS_5KViewEEEE_D1Ev

используйте c ++ flit:

      ➜  ~ c++filt --strip-underscore __ZZZZZZZZZZN5kinda16FillCardInfoPage6renderEvENK3$_2clENSt3__110shared_ptrINS_12MMViewLayoutEEEENKUlNS3_INS_12MMScrollViewEEEE_clES7_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlS5_E_clES5_ENKUlNS3_INS_14MMBankEditViewEEEE_clESF_ENUlRKNS3_INS_5KViewEEEE_D1Ev

➜  ~ c++filt --version
Apple LLVM version 12.0.0 (clang-1200.0.32.29)
Optimized build.
Default target: x86_64-apple-darwin20.3.0
Host CPU: skylake

результат:

__ZZZZZZZZZZN5kinda16FillCardInfoPage6renderEvENK3

Я думаю, что это безымянный лямбда-тип. Можем ли мы узнать реальный объем и оригинальное название?

1 ответ

Решение

Вам нужно добавить одинарную кавычку вокруг аргумента командной строки, чтобы оболочка не расширяла знак доллара ( $) в этом.

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