![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
底层
文章平均质量分 74
wuguinianjing
这个作者很懒,什么都没留下…
展开
-
哈工大实验搭建
2)文件结构Image 文件oslab 工作在一个宿主操作系统之上,我们使用的 Linux,在宿主操作系统之上完成对 Linux 0.11 的开发、修改和编译之后,在 linux-0.11 目录下会生产一个名为 Image 的文件,它就是编译之后的目标文件。该文件内已经包含引导和所有内核的二进制代码。如果拿来一张软盘,从它的 0 扇区开始,逐字节写入 Image 文件的内容,就可以用这张软盘启动一台真正的计算机,并进入 Linux 0.11 内核。oslab 采用 bochs 模拟器加载这个 Ima原创 2021-11-10 17:34:46 · 331 阅读 · 0 评论 -
exit与return的区别
exit(0):正常运行程序并退出程序。exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。拓展知识:return返回函数值,是关键字; exit 是一个函数。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。return是函数的退出(返回);exit是进程的退出。return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。return用于结束一个函数的执行,将函数的执原创 2020-11-24 22:12:36 · 97 阅读 · 0 评论 -
符号修饰与函数签名(编译时避免冲突)
1.引入目的约在20世纪70年代以前,编译器编译源代码产生目标文件时,符号名与相应的变量和函数的名字是一样的。比如一个汇编源代码里面包含了一个函数foo,那么汇编器将它编译成目标文件以后,foo在目标文件中的相对应的符号名也是 foo。当后来UNIX平台和C语言发明时,已经存在了相当多的使用汇编编写的库和目标文件。这样就产生了一个问题,那就是如果一个C程序要使用这些库的话,C语言中不可以使用这些库中定义的函数和变量的名字作为符号名,否则将会跟现有的目标文件冲突。比如有个用汇编编写的库中定义了-个函数叫做原创 2020-11-23 22:54:49 · 439 阅读 · 0 评论 -
类型的归总
类型sizeof 计算变量或数据类型所占的字节个数在32 位的系统上short 占据的内存大小是2 个byte;int 占据的内存大小是4 个byte;long 占据的内存大小是4 个byte;float 占据的内存大小是4 个byte;double 占据的内存大小是8 个byte;char 占据的内存大小是1 个byte。bool 占据的内存大小是1 个byte。void 不能定义变量,但可以定义指针常见的ASICII值'a' // 97'A' // 65'\0' //原创 2020-11-19 16:25:51 · 262 阅读 · 0 评论 -
二维数组为什么不会继续退化
int (*monthp)[31]为什么无法转换为int ** 一般解释(类型不同,其存储方式不同) 二维数组需要数组指针来指向,它还保存着指向数组的元素个数,而二级指针指向数组将元素全丢了,就像声明时为什么二维数组不能省略列一样,行代表了元素个数(可以计算出来),列代表了元素里拥有的个数。但是按这种理解,二维数组为什么不能像一维数组一样靠丢失元素个数,然后在传参的时候传入行和列来换取节省的空间和时间上的花销呢?为什么编译器提醒两者之间无法进行转换呢?...原创 2020-11-16 16:29:58 · 136 阅读 · 0 评论 -
main函数的入口函数
为什么栈空间是1M在main函数里定义一个1M大小的数组程序会崩溃?原创 2020-11-12 23:48:47 · 240 阅读 · 0 评论 -
malloc申请堆内存
1.malloc申请的空间,是否记录空间大小?若是记录,那所记录的空间大小在哪呢?为什么利用free释放不需要空间大小参数呢?2.malloc函数的相关堆分配算法3.malloc申请失败,即可使用的内存满时应该怎么办?...原创 2020-11-23 01:17:53 · 2542 阅读 · 0 评论 -
I/O (文件)
IO(或IO)的全称是Input/Output,即输入和输出。对于计算机来说,I/O代表了计算机与外界的交互,交互的对象可以是人或其他设备。而对于程序来说,I/O涵盖的范围还要宽广一些。一个程序的IO指代了程序与外界的交互,包括文件、管道、网络、命令行、信号等。更广义地讲,I/O指代任何操作系统理解为“文件”的事务。许多操作系统,包括Linux和 Windows,都将各种具有输入和输出概念的实体——包括设备、磁盘文件、命令行等——统称为文件。对于一个任意类型的文件,操作系统会提供一组操作函数,这包括打开原创 2020-11-05 11:53:36 · 472 阅读 · 0 评论