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

Posted 立体风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看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

个人感觉比较快,:)

以上是关于查看linux系统某宏的定义(另类)的主要内容,如果未能解决你的问题,请参考以下文章

Flask模板宏的概念和基本使用

inline内联函数

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux中怎么查看mysql数据库版本

如何在linux环境下使用make命令时加入宏定义

学习 C 中的宏的建议