Linux内核头文件与内核与库的关系
看上一篇文章中对buildroot的介绍,里面的文档第 3.1.1.1 Internal toolchain backend 节内容
C库会去访问Linux kernel headers(*.h)文件,就是这些头文件定义了用户空间的程序与内核之间的交互接口(系统调用,数据结构等)。由于这些接口是向后兼容的(所谓向后兼容就是当前的程序可以运行在“后面”的平台上,“后面的”就是过去开发的,“前面的”就是我们将来要开发的),所以,用于编译你的交叉编译器的Linux内核头文件版本不需要非常严格地与你的嵌入式Linux版本相匹配,但要求他们(Linux内核头文件)的版本小于或等于嵌入式Linux内核版本。如果你使用了比你嵌入式系统上的内核版本更高的头文件版本,那么C库可能会使用你的旧内核所不支持的接口。