与用户空间应用不同的是,内核不能调用标准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 内核头文件、内核库文件相关推荐

  1. linux+C环境下动态管理头文件和库文件

    本文共分三个部分:首先给出了一个简单的Makefile的例子,然后分别详细阐述了头文件和库文件的相关知识 1.一个Makefile的例: -L是指定链接时搜索路径,比如-L./等: -l是指定具体的库 ...

  2. Linux下gcc编译中关于头文件与库文件搜索路径相关问题

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...

  3. Linux找头文件规则,linux 头文件、库文件查找顺序

    linux 头文件.库文件查找顺序 默认分类 2009-11-14 01:24:28 阅读126 评论0 字号:大中小 linux 头文件.库文件查找顺序 2009-11-03 12:36 Inclu ...

  4. linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-

    Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...

  5. linux应用开发:头文件和库文件的路径及使用

    1. 头文件 1)系统标准头文件位置: /usr/include下,以及安装库的头文件位置:/usr/local/include/ 如 #include<linux/can.h> 对应 / ...

  6. C语言的头文件和库文件(函数库)

    C语言的头文件和库文件(函数库) 分类: Unix环境高级编程 2011-04-17 14:37 2576人阅读 评论(1) 收藏 举报 语言cgcclinuxunix 在C语言中,头文件提供对常量的 ...

  7. linux-gcc 编译时头文件和库文件搜索路径

    linux-gcc 编译时头文件和库文件搜索路径 一.头文件    gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始    ※然后找gcc的环境变量 C_INCLUDE_PATH,CP ...

  8. .h头文件 .lib库文件 .dll动态链接库文件关系

    .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...

  9. C程序背后的故事--头文件、库文件的查找

    文章目录 1 C程序中头文件.库文件的查找 1.1 头文件有什么用 1.2 C文件有什么用 1.3 头文件在哪里 1.4 printf函数在哪里 1.5 如何指定自己的库 1 C程序中头文件.库文件的 ...

  10. 头文件和库文件的区别

    头文件中有函数的申明,库文件实现函数的定义. 比如,printf函数.使用时应包括stdio.h,打开stdio.h你只能看到,printf这 个函数的申明,却看不到printf具体是怎么实现的,而函 ...

最新文章

  1. 服务器BMC、BIOS、IPMI、UEFI技术解析
  2. 二叉搜索树的第k个节点java_剑指Offer62:二叉搜索树的第k个结点(Java)
  3. python里面的之前打过的记忆信息-python中的记忆:如何缓存函数的运行结果(1)
  4. 数据库表的软硬关联_数据库容灾能力的探讨(一)
  5. 采用redis+ThreadLocal获取全局的登录用户信息(一)
  6. async/await 异步操作 .net csharp C#
  7. 动态分区分配的“首次适应算法_kafka集群关于资源分配的手册
  8. [蓝桥杯2019初赛]最大降雨量-模拟
  9. Editplus For Python[转]
  10. 【备忘】conda环境常用配置命令
  11. Common Lisp之Slime函数调用快捷键(三)
  12. ps画笔工具、填充选区文字工具、合成
  13. Gossip 协议简介
  14. 扫地机器人基本设计方案
  15. UWB相关技术之测距定位方法
  16. BIOS控制降频温度设置
  17. 【音频处理】视频加速音频不变调
  18. 优化electron客户端卡顿的几种方案
  19. html文字段落设置,css中怎么设置段落样式?
  20. 蓝桥杯单片机学习13——NE555方波发生器频率测量

热门文章

  1. 【系统分析师之路】 第八章 复盘软件测试与维护(软件维护)
  2. Rational rose软件安装遇到key错误的问题
  3. linux系统下,我也用虚拟机——linux虚拟机随笔
  4. MOOC下载器的文档整理
  5. anaconda利用sns或plt画图中文乱码问题
  6. php日文文件名 liunx,linux文件名乱码
  7. windows计算机桌面隐藏文件,成功隐藏Windows电脑文件的四种方法
  8. mysql数据库备份sql语句_mysql用户管理、常用sql语句及数据库的备份
  9. Qt:windows下Qt安装教程
  10. Solr数据库6.3.0版本配置问题:whose UTF8 encoding is longer than the max length 32766