在 kernel/proto.h ,MINIX 3 定义了两个前向声明struct proc
和struct timer
。然而,参数中的许多类型信息丢失了。 clock_t
、U16_t
、tmr_func_t
和 message
等示例完全丢失。文件中似乎也没有任何 #include
语句,那么编译器怎么会不提示呢?
最佳答案
查看kernel/kernel.h ,很明显,某些头文件的包含顺序很重要。
/* Important kernel header files. */
#include "config.h" /* configuration, MUST be first */
#include "const.h" /* constants, MUST be second */
#include "type.h" /* type definitions, MUST be third */
#include "proto.h" /* function prototypes */
#include "glo.h" /* global variables */
#include "ipc.h" /* IPC constants */
#include "debug.h" /* debugging, MUST be last kernel header */
并非每个头文件都会包含它所依赖的所有其他头文件。学习使用本地搜索工具。此外,谷歌搜索clock_t
可能会有所启发。您提到的大多数其他类型似乎都不是标准 C 库类型。
关于c - MINIX 3 (v3.1.0) 中参数中缺少类型信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51458665/