关于内核/应用程序 编译 所用到的头文件和库
这问题一直有点不清楚 .
1)按我的理解,内核 和 应用程序 进行编译时,,都可以用glibc库 或者 也可以用标准库,之所以用glibc库多一些,只是因为 内核本身程序 是用gnu c写的,兼容性会比标准库(ansi c库)好些?
2)所以在glibc库中,其实包含了 内核所用到的系统调用 ,以及封闭好的,供应用程序所用的api接口,但初安装linux系统 后,只是安装 了header 头文件,这个头文件就只把glibc库中的api接口部分列了出来,以供编译其他 的应用程序 使用.
3)所以我们如果要编译内核模块 或者 新版本内核 时,就需要另外安装 内核头文件(一般在include/linux下),这样相当于把glibc中的系统调用 开放给 需要编译的程序使用.
请教下以上认识,是否有问题?如果有问题,那么正确的理解 是什么?\
1)按我的理解,内核 和 应用程序 进行编译时,,都可以用glibc库 或者 也可以用标准库,之所以用glibc库多一些,只是因为 内核本身程序 是用gnu c写的,兼容性会比标准库(ansi c库)好些?
2)所以在glibc库中,其实包含了 内核所用到的系统调用 ,以及封闭好的,供应用程序所用的api接口,但初安装linux系统 后,只是安装 了header 头文件,这个头文件就只把glibc库中的api接口部分列了出来,以供编译其他 的应用程序 使用.
3)所以我们如果要编译内核模块 或者 新版本内核 时,就需要另外安装 内核头文件(一般在include/linux下),这样相当于把glibc中的系统调用 开放给 需要编译的程序使用.
请教下以上认识,是否有问题?如果有问题,那么正确的理解 是什么?\
...全文
相关推荐
Linux内核简介
Linux内核简介
Linux内核编译
在linux内核中添加一个简单的系统调用,并编译实现!
uos操作系统下编译的hdf-eos2-3.0库和头文件
uos操作系统下编译的hdf-eos2-3.0库和头文件。支持arm架构。
构建交叉编译环境笔记.doc
构建交叉编译环境笔记.doc 构建交叉编译环境笔记.doc
嵌入式系统/ARM技术中的用C语言编写的Linux应用程序
1. “hello.c” -------------------------------- /* ◆ 这是我们的第一个源文件, ◆ 它是一个可以加载的内核模块, ◆ 加载时显示“Hello,World!”, ◆ 卸载时显示“Bye!”。 ◆ 需要说明一点,写内核或内核模块不能用写应用程序时的系统调用或函数库, ◆ 因为我们写的就是为应用程序提供系统调用的代码。 ◆ 内核有专用的函数库,如<linux>, <linux>, <linux>等, ◆ 现在还没必要了解得很详细, ◆ 这里用到的printk的功能类似


