摘要: 上一节中说到BIOS会将MBR中的主引导程序(512字节)加载到内存的0x7c00处,其中这512字节的主引导程序是软件程序,是操作系统的一部分,因此也是由操作系统开发者来编写的,BIOS将其加载到内存后,会自动跳到0x7c00处去执行。接下来我们自己实现一个“主引导程序”,功能很简单,就是让它打印 阅读全文
posted @ 2018-06-15 21:33 周伯通789 阅读(2747) 评论(0) 推荐(1) 编辑
摘要: 以下内容基于x86平台分析讲解。 操作系统直接运行于硬件之上,用于控制与管理计算机的硬件与软件资源,并且为应用层的软件开发提供服务和接口,现在的计算机大概架构如下所示: 硬件就是主板、显示器、键盘、鼠标等我们来重点看一下BIOS,BIOS全称为Base Input & Output System,也 阅读全文
posted @ 2018-06-12 21:28 周伯通789 阅读(978) 评论(0) 推荐(1) 编辑
摘要: C++规定但凡定义了析构函数,不管这个函数是否纯虚的,必须要提供实现,要不然子类的析构函数如果调用到父类的析构函数时会报错。如果父类的析构函数是纯虚的也必须提供实现。 把父类的析构函数定义为纯虚的只是告诉编程人员,不要实例化这个类。 阅读全文
posted @ 2018-03-16 18:01 周伯通789 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 转载:http://blog.csdn.net/u013471155 在学习Python的过程中,我相信有很多人和我一样,对Python的装饰器一直觉得很困惑,我也是困惑了好久,并通过思考和查阅才能略有领悟,我希望以下的内容会对你有帮助,我也努力通过通俗的方式使得对Python装饰器的理解更加的透彻 阅读全文
posted @ 2018-02-28 10:57 周伯通789 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 在C语言中定义结构体时,右大括号后是需要加分号的,在C++中使用class关键字定义类时,右大括号后也是需要加分号的,而在定义函数时,右大括号后是不需要加分号的。 对这个问题的解释就是右花括号}能代表结尾的就不需要加分号。 例如:while循环、for循环、if语句中,右大括号}就能代表这个循环或者 阅读全文
posted @ 2018-02-26 09:58 周伯通789 阅读(7237) 评论(0) 推荐(1) 编辑
摘要: 数据的概念:数据是程序的操作对象,用于描述客观事物。 数据的特点: 1、可以输入到计算机 2、可以被计算机程序处理 下面介绍一下数据中的新概念: 1、数据元素 组成数据的基本单位 2、数据项 一个数据元素由若干数据项组成 3、数据对象 性质相同的数据元素的集合数据实例分析如下所示: 数据结构指数据对象中数据元素之间的关系,数据... 阅读全文
posted @ 2018-02-13 12:55 周伯通789 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 本节我们编写路径搜索相关的makefile,具体需求如下: 1、工程项目中不希望源码文件夹在编译时被改动(只读文件夹)。 2、在编译时自动创建文件夹(build)用于存放编译结果。 3、编译过程中能够自动搜索需要的文件 4、makefile易于扩展,能够复用于相同类型的项目 5、支持调试版本的编译选 阅读全文
posted @ 2018-02-08 10:22 周伯通789 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 在实际的工程项目中,源文件和头文件都会组织成一定的目录结构,这样也便于项目的管理,前述我们分析的makefile,源文件和头文件大都在当前目录,没有路径搜索的问题,下面我们引入今天的演示程序的目录结构: 编写makefile并执行make,结果如下: 由于源文件和头文件都组织在了文件夹里,但是mak 阅读全文
posted @ 2018-02-07 18:12 周伯通789 阅读(2242) 评论(0) 推荐(0) 编辑
摘要: 前面我们讲到了makefile的依赖拆分的知识,现在可以引申出这样一个问题,如果同一个目标的不同命令拆分的写到不同地方会发生什么?下面我们给出程序和执行结果: 可见后面的命令会覆盖前面的命令,我们可以得到以下结论: 我们主观上要避免在多处出现同一目标的不同命令,但是在include一个文件时,往往不 阅读全文
posted @ 2018-02-07 15:00 周伯通789 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 前面三篇已经把自动生成依赖关系所需要的知识点进行了剖析,本篇就来完成这个完整的makefile程序。 整体的依赖关系如下所示: 目标文件、依赖文件、最终的可执行文件我们都创建对应的文件夹来管理。下面直接给出编写完成的makefile程序: 执行make,输出结果如下图所示: 到目前,一切都很正常,下 阅读全文
posted @ 2018-02-06 20:20 周伯通789 阅读(482) 评论(0) 推荐(0) 编辑