我是Linux
编程的新手。我发现通过命令行在Linux
中查看系统调用列表的方法是:man syscalls
但现在我想查看c library functions
的列表,我该怎么做?哪个命令可以帮助我列出c
库函数?另一个问题是,系统调用和c
库函数手册页位于何处?谢谢。
答案 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还有许多非常广泛使用的库,如ncurses和gnu readline用于终端I / O,以及GTK或Qt用于上面的图形用户界面X11(两者都有一个基础库:GTK的Gobject + Glib和Qt的QtCore,它在任何GUI程序之外都是有用的)。
freecode,sourceforge,github以及其他许多地方都提到了很多free software个库,其中大多数是在Linux上开发的。例如,libonion是一个有用的库,可以为您提供HTTP服务器功能。
对于数据库,请参阅mariadb,mongodb,postgresql,gdbm,sqlite等...(和jansson for {{ 3}}文本序列化)
顺便说一句,您的Linux发行版也应该为您提供大量的开发包。在Debian上,200多个软件包匹配lib*dev
软件包名称(有些库的开发软件包名称不同)。
有几本关于Linux编程的好书,请参阅JSON ...
请注意,Linux主要是免费软件友好的。注意软件许可证及其this。
如果可能,请将您自己的Linux软件项目设为免费软件,例如:通过使用例如许可证来发布它compatibility(早期,甚至在GPLv3阶段勉强工作......)某些网站,例如alpha或github或gitorious等...您可以得到有用的反馈。
您可以考虑使用sourceforge(可以轻松使用C或C ++库)进行编码。请注意,C ++ 11与以前版本的C ++标准完全不同。如果您这样做,请务必使用最新的编译器,如C++11。如果您的软件足够复杂,您甚至可以考虑使用GCC 4.8自定义GCC。
答案 1 :(得分:1)
维基百科和cppreference都有用,以及你拥有的libc的文档(可能是glibc)。
答案 2 :(得分:1)
Linux附带的手册页也可以在man7.org找到。
它在手册页上提供了各种索引(“长列表”)。
当前的POSIX手册页索引位于:http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html