欢迎光临散文网 会员登陆 & 注册

C语言里面的typedef为什么反汇编之后找不到相关的编码呢?

2021-10-04 23:16 作者:晨夕星海  | 我要投稿

今天在一个群里看到这样一个问题:C语言里面的typedef  为什么反汇编之后找不到相关的编码呢?


要介绍这个问题,就得首先搞明白typedef到底是什么。

百科上是这么解释的:

typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。


简单来说,就是仅仅给类型起别名,那么,类型是什么?


类型是C语言抽象的结果,本质上是用来确定数据长度的,比如在32位环境中,int是4字节。同时语法层面的类型检查可以避免一些bug。


类型别名其实是创建了一个一切都相同的累型,编译时其实是一样的,所以即使是直接用gcc的-S编译成汇编代码,也什么都看不出来。


具体例子回头放评论区


C语言里面的typedef为什么反汇编之后找不到相关的编码呢?的评论 (共 条)

分享到微博请遵守国家法律