#android #c
#Android #c
Вопрос:
Я хотел бы отобразить имя функции в моем макросе журнала, и я использую __func__
.
Однако для функции, подобной:
int foo(int)
__func__
возвращает int foo(int)
вместо foo
.
int foo(int)
слишком длинно. Я хочу foo
.
Кто-нибудь знает, как получить foo
?
Среда — это проект с открытым исходным кодом Android, а компилятор — clang с -std =c 14.
Комментарии:
1. Как насчет некоторых манипуляций со строками?
2.
foo
было бы неоднозначно для перегруженных функций. Я не думаю, что для этого будет встроенный способ. Воспользуйтесь советом Юнноса.3.
__func__
должно быть указано только имя. Какой компилятор вы используете?4. компилятор @geza — это компилятор по умолчанию, используемый Android 7.0, который является clang 5.0. Тот же код, скомпилированный NDK, в порядке, печатается только имя.
5. @Yunnosch @super кажется, это легко сделать. Я думаю, что могу просто получить строку между
::
и(