linux 模块编译步骤(详解)3.docVIP

  • 1
  • 0
  • 约8千字
  • 约 15页
  • 2018-08-27 发布于江苏
  • 举报
linux 模块编译步骤(详解)3

Linux?内核模块编程 Linux?内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是?Tiger哥学习?Linux?时第一节课所接触的知识。由此可以看出它的?important,?也可以看出其实它很?easy?。 一前言: 1.?什么是内核模块 1?内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行。 2?模块编程和内核版本密切相连,因为不同的内核版本中某些函数的函数名会有变化。因此模块编程也可以说是内核编程。 3?特点: 模块本身不被编译进内核映像,从而控制了内核的大小;? 模块一旦被加载,就和内核中的其他部分完全一样。 2?.?用户层编程和内核模块编程的区别 ? 应用程序 内核模块程序 使用函数 libc?库 内核函数 运行空间 用户空间 内核空间 运行权限 普通用户 超级用户 入口函数 main() module_init 出口函数 exit() module_exit 编译 gcc makefile 链接 gcc insmod 运行 直接运行 insmod 调试 gdb kdbug?、?kdb?、?kgdb 二?.?说了这么多,那么怎么编写一个内核模块的程序呢? 1.?我们先来看两个最简单的函数实例,也是几乎所有程序员在学习一门新语言时都会编写的程序:输出?

文档评论(0)

1亿VIP精品文档

相关文档