当前位置: 技术问答>linux和unix
想在linux c下写一个软件管理的软件
来源: 互联网 发布时间:2017-04-30
本文导语: 想用C写一个软件管理的软件,但是不知道应该看哪方面的资料啊?比如说电脑上软件安装的信息应该如何获取??? 本人只是看了书本的小菜,求有经验的大神赐教!感激不尽 | http://ubuntu-tweak.com/ 看看这个 ...
想用C写一个软件管理的软件,但是不知道应该看哪方面的资料啊?比如说电脑上软件安装的信息应该如何获取???
本人只是看了书本的小菜,求有经验的大神赐教!感激不尽
本人只是看了书本的小菜,求有经验的大神赐教!感激不尽
|
|
网上看到的。
linux kernel只提供一种叫系统调用给应用程序,linux系统提供了glibc这样的函数库专门封装了内核提供的系统调用,所以应用程序的开发就直接调用glibc库提供的库函数就可以了。
注:1、linux系统包括linux kernel、glibc库等。
2、因为应用程序调用系统调用是通过汇编指令完成的,所以才有了glibc的封装,简化了应用开发的难度。
kernel中提供的系统调用处理函数
sys_socket、sys_open、sys_close、sys_read、sys_write等
glibc中对应的是
socket、open、close、read、write等
glibc中的socket函数就是调用了int $0x80这条汇编指令,从而使cpu切换到内核态,执行sys_socket这个函数的。
函数调用流程:
socket->int $0x80->sys_socket。
现在2.6版本的内核提供了300多个系统调用:
glibc的下载地址:
http://ftp.gnu.org/gnu/glibc/
linux kernel的下载地址:
http://www.kernel.org/pub/linux/kernel/
linux kernel只提供一种叫系统调用给应用程序,linux系统提供了glibc这样的函数库专门封装了内核提供的系统调用,所以应用程序的开发就直接调用glibc库提供的库函数就可以了。
注:1、linux系统包括linux kernel、glibc库等。
2、因为应用程序调用系统调用是通过汇编指令完成的,所以才有了glibc的封装,简化了应用开发的难度。
kernel中提供的系统调用处理函数
sys_socket、sys_open、sys_close、sys_read、sys_write等
glibc中对应的是
socket、open、close、read、write等
glibc中的socket函数就是调用了int $0x80这条汇编指令,从而使cpu切换到内核态,执行sys_socket这个函数的。
函数调用流程:
socket->int $0x80->sys_socket。
现在2.6版本的内核提供了300多个系统调用:
glibc的下载地址:
http://ftp.gnu.org/gnu/glibc/
linux kernel的下载地址:
http://www.kernel.org/pub/linux/kernel/