如何在Linux中查看c库函数列表?

时间:2013-12-26 15:34:05

标签: c linux command-line glibc system-calls

我是Linux编程的新手。我发现通过命令行在Linux中查看系统调用列表的方法是:man syscalls

但现在我想查看c library functions的列表,我该怎么做?哪个命令可以帮助我列出c库函数?另一个问题是,系统调用和c库函数手册页位于何处?谢谢。

3 个答案:

答案 0 :(得分:4)

System calls手册页位于手册页的第2部分,请参阅intro(2),以及syscalls(2)中的列表

库函数手册页位于手册页的第3部分,请参阅intro(3)。其中有many个(其中大多数都使用了一些系统调用,但有些不需要任何系统调用,例如round(3))。

一些有用的Glibc特定函数没有手册页,例如argp函数。

Elliot Frisch所述,请参阅Gnu libc documentation

顺便说一句,您可以使用除GNU libc以外的其他内容,例如musl libc

您还应该阅读Advanced Linux Programming和一些pthread tutorial

另请阅读Posix opengroup文档。

最后,Linux还有许多非常广泛使用的库,如ncursesgnu readline用于终端I / O,以及GTKQt用于上面的图形用户界面X11(两者都有一个基础库:GTK的Gobject + Glib和Qt的QtCore,它在任何GUI程序之外都是有用的)。

freecodesourceforgegithub以及其他许多地方都提到了很多free software个库,其中大多数是在Linux上开发的。例如,libonion是一个有用的库,可以为您提供HTTP服务器功能。

对于数据库,请参阅mariadbmongodbpostgresqlgdbmsqlite等...(和jansson for {{ 3}}文本序列化)

顺便说一句,您的Linux发行版也应该为您提供大量的开发包。在Debian上,200多个软件包匹配lib*dev软件包名称(有些库的开发软件包名称不同)。

有几本关于Linux编程的好书,请参阅JSON ...

请注意,Linux主要是免费软件友好的。注意软件许可证及其this

如果可能,请将您自己的Linux软件项目设为免费软件,例如:通过使用例如许可证来发布它compatibility(早期,甚至在GPLv3阶段勉强工作......)某些网站,例如alphagithubgitorious等...您可以得到有用的反馈。

您可以考虑使用sourceforge(可以轻松使用C或C ++库)进行编码。请注意,C ++ 11与以前版本的C ++标准完全不同。如果您这样做,请务必使用最新的编译器,如C++11。如果您的软件足够复杂,您甚至可以考虑使用GCC 4.8自定义GCC。

答案 1 :(得分:1)

维基百科和cppreference都有用,以及你拥有的libc的文档(可能是glibc)。

例如:http://en.cppreference.com/w/c/string/byte

答案 2 :(得分:1)

Linux附带的手册页也可以在man7.org找到。

它在手册页上提供了各种索引(“长列表”)。

当前的POSIX手册页索引位于:http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html