这个主要是一些常识问题,以及在使用AT&T语法汇编时会使用的编码后缀:
C声明 | Intel数据类型 | 汇编后缀 | 大小(byte) |
char | 字节 | b | 1 |
short | 字 | w | 2 |
int | 双字 | l | 4 |
long int | 双字 | l | 4 |
long long int | - | - | 4 |
char* | 双字 | l | 4 |
float | 单精度 | s | 4 |
double | 双精度 | l | 8 |
long double | 扩展精度 | t | 10/12 |
小常识:long double是在ISO C99中引入,用于扩展浮点精度,它的大小不仅和机器体系结构有关,同时和编译器也有关系,在除X86以外的平台上一般用8个字节表示,在X86机器上一般为10个字节,而GCC将其存储为12个字节。