linux 内核头文件、内核库文件
与用户空间应用不同的是,内核不能调用标准C库或其它任何不属于内核的库。主要原因是,速度及大小的限制。
标准C库对内核而言实在是太大了。
许多常用的的 libc 函数已经在内核中实现了。内核中的库文件是在内核的根目录下 lib 目录下存放。
如常用的字符串操作函数是在 lib/string.c 中定义的,调用时主需要将头文件 <linux/string.h>包含进即可。
关于内核的头文件,内核是不能包含内核之外的头文件的,如同内核不能调用内核之外的库一样。
1)基本的头文件放在内核的 include/ 目录下,比如以下引用的头文件
#include <linux/i2c.h>
位于 include/linux/i2c.h
2)平台相关的头文件位于 arch/<architecture>/include/asm 下,在包含这些头文件时以 asm/ 为前缀,如下:
#include <asm/ioctl.h>
内核中不能调用 printf(), 但内核提供了 printk() 供我们使用。
printk() 与printf()的用法很相似,如下:
printk("Hello world! A string '%s' and an integer '%d'\n", str, i);
printk() 与 printf() 一个显著的区别是,printk() 允许使用优先级标记。该优先级标志被 syslogd 进程用来决定在哪显示
内核打印信息。如下例:
printk(KERN_ERR "this is an error!\n");
linux 内核头文件、内核库文件相关推荐
- linux+C环境下动态管理头文件和库文件
本文共分三个部分:首先给出了一个简单的Makefile的例子,然后分别详细阐述了头文件和库文件的相关知识 1.一个Makefile的例: -L是指定链接时搜索路径,比如-L./等: -l是指定具体的库 ...
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题
如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...
- Linux找头文件规则,linux 头文件、库文件查找顺序
linux 头文件.库文件查找顺序 默认分类 2009-11-14 01:24:28 阅读126 评论0 字号:大中小 linux 头文件.库文件查找顺序 2009-11-03 12:36 Inclu ...
- linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-
Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...
- linux应用开发:头文件和库文件的路径及使用
1. 头文件 1)系统标准头文件位置: /usr/include下,以及安装库的头文件位置:/usr/local/include/ 如 #include<linux/can.h> 对应 / ...
- C语言的头文件和库文件(函数库)
C语言的头文件和库文件(函数库) 分类: Unix环境高级编程 2011-04-17 14:37 2576人阅读 评论(1) 收藏 举报 语言cgcclinuxunix 在C语言中,头文件提供对常量的 ...
- linux-gcc 编译时头文件和库文件搜索路径
linux-gcc 编译时头文件和库文件搜索路径 一.头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CP ...
- .h头文件 .lib库文件 .dll动态链接库文件关系
.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...
- C程序背后的故事--头文件、库文件的查找
文章目录 1 C程序中头文件.库文件的查找 1.1 头文件有什么用 1.2 C文件有什么用 1.3 头文件在哪里 1.4 printf函数在哪里 1.5 如何指定自己的库 1 C程序中头文件.库文件的 ...
- 头文件和库文件的区别
头文件中有函数的申明,库文件实现函数的定义. 比如,printf函数.使用时应包括stdio.h,打开stdio.h你只能看到,printf这 个函数的申明,却看不到printf具体是怎么实现的,而函 ...
最新文章
- 服务器BMC、BIOS、IPMI、UEFI技术解析
- 二叉搜索树的第k个节点java_剑指Offer62:二叉搜索树的第k个结点(Java)
- python里面的之前打过的记忆信息-python中的记忆:如何缓存函数的运行结果(1)
- 数据库表的软硬关联_数据库容灾能力的探讨(一)
- 采用redis+ThreadLocal获取全局的登录用户信息(一)
- async/await 异步操作 .net csharp C#
- 动态分区分配的“首次适应算法_kafka集群关于资源分配的手册
- [蓝桥杯2019初赛]最大降雨量-模拟
- Editplus For Python[转]
- 【备忘】conda环境常用配置命令
- Common Lisp之Slime函数调用快捷键(三)
- ps画笔工具、填充选区文字工具、合成
- Gossip 协议简介
- 扫地机器人基本设计方案
- UWB相关技术之测距定位方法
- BIOS控制降频温度设置
- 【音频处理】视频加速音频不变调
- 优化electron客户端卡顿的几种方案
- html文字段落设置,css中怎么设置段落样式?
- 蓝桥杯单片机学习13——NE555方波发生器频率测量
热门文章
- 【系统分析师之路】 第八章 复盘软件测试与维护(软件维护)
- Rational rose软件安装遇到key错误的问题
- linux系统下,我也用虚拟机——linux虚拟机随笔
- MOOC下载器的文档整理
- anaconda利用sns或plt画图中文乱码问题
- php日文文件名 liunx,linux文件名乱码
- windows计算机桌面隐藏文件,成功隐藏Windows电脑文件的四种方法
- mysql数据库备份sql语句_mysql用户管理、常用sql语句及数据库的备份
- Qt:windows下Qt安装教程
- Solr数据库6.3.0版本配置问题:whose UTF8 encoding is longer than the max length 32766