查看linux系统某宏的定义(另类)

有一次我想查看time_t类型的定义,一开始想直接在/usr/include/time.h中查找,结果里面没有,而是转到另外一个:__time_t(2个下划线),

结果又转到:__STD_TYPE __TIME_T_TYPE __time_t;

继续找:#define __TIME_T_TYPE       __SYSCALL_SLONG_TYPE

继续:# define __SYSCALL_SLONG_TYPE   __SQUAD_TYPE

最后:# define __SQUAD_TYPE       long int

我晕:只不过想查个time_t的类型而已,结果跳了这么多次,难道都是必须的吗?

郁闷之余,突然想到,既然后面都是宏,那么我直接写一个小程序,然后,用gcc -E查看一下最终形态不就可以了吗?

于是:

#include <stdio.h>
#include <time.h>

int main(){
    time_t hello;
    return 0;
}

然后:gcc -E t.c > t.i

然后:vim t.i

哈哈:直接查找: time_t

结果:# define __SQUAD_TYPE       long int

个人感觉比较快,:)

posted @ 2017-12-10 21:45  立体风  阅读(1448)  评论(1编辑  收藏  举报