我有一个C文件,我想在每个函数的开头和结尾添加打印件,包括文件名,函数名和行号。 我正在尝试使用python将整个C文件文件夹自动化。
示例:对于函数,在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;
}
我正在查看此链接Using Python Regex to Find C function in File
中建议的正则表达式还有其他建议吗? Ctags是我正在探索的另一个选择,但是我更愿意使用python库(如果有)。
编辑:
答案 0 :(得分:2)
您可以使用预定义的宏,例如__file __,__ func__和__line__。这将导致常见的printf语句:
printf("%s, %s, %d\n", __FILE__, __func__, __LINE__)
您需要添加到每个功能中。
这个问题已经在这里得到类似的回答: Print the file name, line number and function name of a calling function - C Prog