Linux应用编程(用户空间)时使用的头文件与库

头文件

在用户空间进行应用编程时会使用许多头文件,比如unistd.h,stdlib.h等等,这里面所有的函数,变量,宏等都处于用户空间,被编译链接在库中。


对于Linux操作系统,库的底层调用操作系统提供的系统调用,这种调用不是通过引用函数名实现的(这样就会出现定位内核函数名地址的问题),而是将系统调用号(就是一个数值)作为参数通过寄存器传递给内核实现的,80号中断是在用户态就能够触发的中断,每一个系统调用号都会约定好在内核中的函数(即系统调用),显然我们同样可以直接使用此中断和系统调用号直接在系统调用层面编程,但不到一定水平太困难,而且基础功能均实现在了库中(无须自己多此一举),只需要调用库提供的函数就能够基本完成自己的应用。

在一个硬件平台上运行程序,无论是嵌入式平台还是PC平台等,现在基本上都需要动态共享库的支撑。

接下来,在应用中学习库的各种功能,直至有一个全局的认识将会是一个漫长的过程。

猜你喜欢

转载自www.cnblogs.com/edward1900/p/10806684.html