识别文件中的C函数(大括号和右括号)

时间:2018-07-03 06:44:35

标签: python c

我有一个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库(如果有)。

编辑:

  • 在微控制器上运行代码
  • 不使用Linux
  • 功能有限的调试器(只能获取printf)

1 个答案:

答案 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