如何知道代码的哪一部分使用Glibc

时间:2013-01-27 21:49:31

标签: c++ linux glibc

我有一个应用程序,这个应用程序使用Glibc,但我想编译而不链接glibc,我需要删除/更改使用它的代码。我在哪里可以获得glibc中定义的函数列表?

谢谢!

1 个答案:

答案 0 :(得分:4)

您需要glibc为典型的main入口点提供启动功能(例如将argcargv设置到正确的位置)。

你需要glibc来调用系统调用(它提供readwriteopenfork等的“包装”等。

您需要glibc来提供I / O功能,例如printfscanfgetchargetcfopenfclose,等等

您需要glibc来提供典型的字符串函数,例如strcpystrcatstrtokstrchr等。

您需要glibc来提供其他标准功能,randsrandqsortassertexitsetjmp,{{ 1}}等等。

总之,如果没有glibc,你可能无法编写任何有意义的程序。

当然,除非将glibc替换为提供相同功能的其他库。据说uclibc更加“轻量级”,因为它的目标是嵌入式系统,而内存则更为昂贵。