这个很好办, 如果用户的代码中有定义的, 就是用户的函数. 只发现了声明, 没找到定义的函数就是库函数, 或是 API 之类的. [解决办法] 举个简单的例子,如果不用正则表达式,一个普通函数的声明 应该是 type func_name(arglist)吧,假设是按照标准缩进,提取出一行来,按照空格分割一下,应该是一个字符串数组吧,好比 static volatile char* fucn(int a, int b),找到带有括号的那一个字符串,然后判断括号里面是不是参数列表,期间可能需要把自定义的类型也加进去,是的话就是函数,当然这只是个人想法,你可以去搜一下像sourceinsight是如何定位匹配函数的