缘起:

按着开发板教程学Linux,用到chmod等函数,视频里的实验讲解的倒是仔细。但是,如果没有其它资料支持,只看man的描述,鬼知道这些自定义的类型原始类型是什么呢?

举一个简单的例子,chmod:

image.png

这个mode_t类型显然是重新定义出来的,它的原始类型是什么呢?

一步一步来:

1)从头文件sys/stat.h入手。路径:/usr/include/sys/stat.h 打开后如下图:

image.png

2)到bits/types.h里面找找 。路径:/usr/include/bits/types.h 打开后如下图:

image.png

3)找一下 __MODE_T_TYPE

image.png

发现有一段这样的代码和注释

4)再到路径:/usr/include/bits/typesizes.h里找找 

image.png

U32_TYPE 看上去已经很明显了,无符号32位类型,再往下找找。

5)重新回到路径:/usr/include/bits/types.h

image.png

unsigned int 无符号整型,这个就是mode_t的原始类型了。