У меня есть файл C, в который я хотел бы добавить печать в начале и конце каждой функции, которая включает имя файла, имя функции и номер строки. Я пытаюсь автоматизировать это для всей папки файлов C с помощью python.
Пример: для добавления функции в файл math.c
int add(int a, int b){
sum = a +b;
return sum;
}
Я бы хотел, чтобы файл результатов выглядел примерно так:
int add(int a, int b){
printf("Math.c, add, 12");
sum = a +b;
return sum;
}
Я рассматриваю регулярное выражение, как предлагается в этой ссылке. Использование Python Regex для поиска функции C в файле
Любые другие предложения? Ctags - это еще один вариант, который я изучаю, но я предпочитаю использовать библиотеки python, если они есть для этой цели.
Редактировать:
Вы можете использовать предопределенные макросы, такие как __file__, __func__ и __line__. Это приведет к общему утверждению printf:
printf("%s, %s, %d\n", __FILE__, __func__, __LINE__)
которые необходимо добавить к каждой функции.
На этот вопрос уже ответили аналогично: напечатайте имя файла, номер строки и имя функции вызывающей функции - C Prog
__LINE__
требует %d
вместо %s
.