摘要: #include<stdio.h> int main(){ for(int i = 0;i<10;i++){ int a; printf("%x\n",&a); } } 运行结果为: 64fe18 64fe18 64fe18 64fe18 64fe18 64fe18 64fe18 64fe18 64 阅读全文
posted @ 2021-08-27 11:34 苏小刚 阅读(368) 评论(0) 推荐(0)
摘要: C程序在编译后,会以三种形式使用内存。 静态/全局内存 静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量在程序开始运行时分配,直到程序终止才消失。所有函数都能访问全局变量,静态变量的作用域则局限在定义它们的函数内部。 自动内存 静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量 阅读全文
posted @ 2021-08-27 11:33 苏小刚 阅读(186) 评论(0) 推荐(0)
摘要: /**2021/8/27 * 苏艺腾 * 令人吃惊的是,下面函数指针的用法都是正确的。 **/ #include <stdio.h> void hello(void) { printf("hello\n"); } int main(void) { void (*hello_p)(void); voi 阅读全文
posted @ 2021-08-27 11:31 苏小刚 阅读(72) 评论(0) 推荐(0)
摘要: 第八章 异常控制流ECF 8.1 异常 Exception 异常是异常控制流的一种形式,他一部分由硬件实现,一部分由操作系统实现。 在任何情况下,当处理器检测到有事情发生时,他就会通过一张叫做异常表(exception table)的跳转表,进行一个简介过程调用(异常),到一个专门用来处理这类事件操 阅读全文
posted @ 2019-09-09 21:39 苏小刚 阅读(234) 评论(0) 推荐(0)
摘要: 在阅读《程序员的自我修养 链接装载与库》的第四章 ==静态链接== 4.6.2==最小的程序==时,发现代码是基于linux32位系统的程序,无法在64位系统上编译和运行。 正确的64位程序应该为 代码 运行结果 原因 linux系统中64位汇编和32位汇编的系统调用主要有以下不同: 系统调用号不同 阅读全文
posted @ 2019-09-09 21:37 苏小刚 阅读(216) 评论(0) 推荐(0)
摘要: RodRego — a register machine 寄存器机(register machine)是一种类似于图灵机一样的抽象机器,是计算机模型的一种,他和其他的抽象机一样都是图灵等价的。 RodRego是哲学家丹尼尔·丹尼特和他的朋友制作的一款寄存器机模拟软件。通过编写简单的命令在RodReg 阅读全文
posted @ 2019-09-09 21:35 苏小刚 阅读(446) 评论(0) 推荐(0)