gpt4 book ai didi

linux - 编译linux设备驱动程序时创建的各种文件是什么?

转载 作者:太空狗 更新时间:2023-10-29 12:17:06 25 4
gpt4 key购买 nike

我有一个非常基本的问题。当我们使用 makefile 创建驱动程序时,我们看到许多文件创建为

  1. 模块.symvers
  2. .mod.c
  3. 内置.o
  4. .mod.o
  5. .o
  6. modules.order
  7. .ko

到目前为止,我只对 *.ko 文件感兴趣,不关心任何其他文件。但我仍然想知道其他文件,它们有什么用?请回复

最佳答案

来自评论中指出的文档和一些其他来源(123):

  1. Module.symvers - “Module.symvers 包含从内核构建中导出的所有符号的列表。”
  2. .mod.c - “是一个基本上包含模块信息(版本信息等)的文件”
  3. built-in.o - 此文件与内核模块无关,而是与正常的内核构建相关。 “Kbuild 编译所有的 $(obj-y) 文件。然后调用“$(LD) -r”将这些文件合并到一个 built-in.o 文件中。built-in.o 稍后链接到 vmlinux由父 Makefile"
  4. .mod.o - 由 .mod.c 文件编译产生的目标文件。
  5. .o - 模块源文件编译产生的目标文件。
  6. modules.order - “如果您同时编译多个模块,它将列出编译和创建 .ko 的顺序”
  7. .ko - 加载到内核中的最终内核模块二进制文件。

关于linux - 编译linux设备驱动程序时创建的各种文件是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com