MINIX 3 (v3.1.0) 参数中缺少类型信息

Missing type information in parameters in MINIX 3 (v3.1.0)

kernel/proto.h中,MINIX 3定义了两个前向声明struct procstruct timer。然而,参数中的大部分类型信息都丢失了。 clock_tU16_ttmr_func_tmessage 等示例完全缺失。文件中似乎也没有任何 #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 */

并非每个头文件都会包含它所依赖的所有其他头文件。学习使用本地搜索工具。此外,google 搜索 clock_t 可能会很有启发性。您提到的大多数其他类型似乎都不是标准 C 库类型。