摘要: #include int main(int argc, char *argv[]) { int a[3]={1,2,3}; int (*pa)[3]; // *pa=a; //错误,因为pa没有被赋值,怎么取值,语法错误。 pa=&a; //正确,&a为指向数组的地址,和pa类型匹配 printf("*pa=%p\n",*pa); //正确,*pa含义为:对p... 阅读全文
posted @ 2017-11-20 21:38 立体风 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Linux下的gdb和gcc默认输出的汇编都是AT&T格式的,但是它们都有方式来转换为Intel格式。 -masm=[intel|att] 选择intel或AT&T的汇编语法gcc -S -masm=intel test.cgdb则是设置环境变量set disassembly-flavor inte 阅读全文
posted @ 2017-11-20 08:48 立体风 阅读(2461) 评论(0) 推荐(0) 编辑
摘要: 1、变量名在编译阶段被编译器替换成存储该变量值的内存空间的首地址,简单说:变量名代表存储该变量的内存空间首地址。 例如:定义一个int型变量 int a=10; //int型变量的用4个连续的字节存储,变量名a代表第一个字节的地址。 double b=12.1; //double型变量用8个连续的字 阅读全文
posted @ 2017-11-20 08:39 立体风 阅读(1434) 评论(0) 推荐(0) 编辑