日期:2014-05-16  浏览次数:20698 次

想在linux c下写一个软件管理的软件
想用C写一个软件管理的软件,但是不知道应该看哪方面的资料啊?比如说电脑上软件安装的信息应该如何获取???
本人只是看了书本的小菜,求有经验的大神赐教!感激不尽
------解决方案--------------------
http://ubuntu-tweak.com/  看看这个
------解决方案--------------------
网上看到的。


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/