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

How to know what part of code uses Glibc

本文关键字:Glibc 一部分 何知道 代码      更新时间:2023-10-16

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

谢谢!

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

你需要 glibc 来调用系统调用(它提供了围绕readwriteopenfork等的"包装器"。

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

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

你需要glibc提供其他标准功能,randsrandqsortassertexitsetjmplongjmp等。

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

当然,除非您将 glibc 替换为提供相同功能的其他库。有 uclibc 据说更"轻量级",因为它针对嵌入式系统,其中内存更宝贵。