首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么找出一个C程序中的库函数调用以及相关的变量

2013-06-25 
如何找出一个C程序中的库函数调用以及相关的变量比如有个C语言编写的源程序,如何通过写一个程序,找出C源程

如何找出一个C程序中的库函数调用以及相关的变量
比如有个C语言编写的源程序,如何通过写一个程序,找出C源程序中的所有的函数名?
如果C源程序中,既有自定义函数,又有库函数调用,那如何找出程序中调用的库函数的名称?
现在就是想写一个程序,来找出程序中的库函数的位置。
请各位大侠,献计献策。谢谢!!!
[解决办法]
网上找一个c标准函数库,然后根据某种规则提取出函数名,与标准函数库比较一下,当然更犀利点,先解析包含哪些头文件,然后将头文件包含的标准库函数引入到字典中,然后在进行匹配,这样出错率低一点
[解决办法]

引用:
Quote: 引用:

如果自定义的函数与库函数同名?

c语言不支持多态吧,如果你包含了一个函数,又定义了一个同名函数,不会报错吗

不会, 自己定义的函数会覆盖库函数. 链接的时候是优先链接代码中的函数的.

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

热点排行