摘要: [toc] 内核初步 在这节教程, 我们将深入研究一些汇编程序, 学习创建链接脚本的基础知识以及使用它的原因。最后, 我们将学习如何使用batch(批处理)文件自动汇编、编译和链接这个最基本的受保护模式下的内核。本教程假定你已经安装了NASM和GCC, 并且了解一点点x86汇编语言。 内核入口 内核 阅读全文
posted @ 2019-09-16 20:32 Raina_R 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 准备工作 内核开发是编写代码以及调试各种系统组件的漫长过程。一开始这似乎是一个让人畏惧的任务,但是并不需要大量的工具集来编写自己的内核。这个内核开发教程主要涉及使用GRUB将内核加载到内存中。GRUB需要被定向到受保护的二进制镜像中,这个镜像就是我们将要构建的内核。 使用本教程,你至少需要具备C语言 阅读全文
posted @ 2019-09-16 15:03 Raina_R 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 1. 安装 这样nasm就安装好了,终端输入命令: 输出版本信息就说明安装成功 2. 使用 创建"hello.asm"文件: 在文件中输入下面的汇编代码 保存后退出。 编译 如果是32位系统就把 改为 链接 运行 终端输出“Hello,world!”就没问题了 阅读全文
posted @ 2019-09-16 14:59 Raina_R 阅读(8785) 评论(0) 推荐(1) 编辑
摘要: 介绍 内核开发不是件容易的事,这是对一个程序员编程能力的考验。开发内核其实就是开发一个能够与硬件交互和管理硬件的软件。内核也是一个操作系统的核心,是管理硬件资源的逻辑。 处理器或是CPU是内核需要管理的最重要的系统资源之一。内核对其的管理体现在:给特定操作分配时间,并允许在另一个调度事件发生时中断任 阅读全文
posted @ 2019-09-16 13:16 Raina_R 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 效果图: 阅读全文
posted @ 2019-09-11 15:16 Raina_R 阅读(157) 评论(0) 推荐(0) 编辑
摘要: `CDPATH`是shell的一个环境变量, 默认值为空: 将你常用的目录添加到 的目录列表中, 用':'冒号分隔, 比如, 当前目录 ., home目录 ~, 根目录 /, 等等: 这样就可以在任意位置cd到CDPATH列表中的目录下了: 但是这样设置只是临时的, 在终端关闭后就失效了, 要想永久 阅读全文
posted @ 2019-09-10 16:50 Raina_R 阅读(1086) 评论(0) 推荐(0) 编辑
摘要: 在运行opencv程序的时候报下面的错误: ... The library is compiled without QT support in function ... 原因是在使用cmake安装opencv的时候没有开启Qt选项。需要重新编译opencv, 添加 选项, 打开Qt, 让opencv 阅读全文
posted @ 2019-08-16 19:06 Raina_R 阅读(1160) 评论(0) 推荐(0) 编辑
摘要: 1. 安装依赖包 出现下面错误 errorE: unable to locate libjasper dev 就运行下面命令 然后继续安装依赖包 2. 下载并解压opencv安装包 从官网下载opencv的Sources, 并解压: https://opencv.org/releases/ 3. 安 阅读全文
posted @ 2019-08-16 19:04 Raina_R 阅读(4932) 评论(0) 推荐(0) 编辑
摘要: ```bash apt list --installed dpkg -l ``` 阅读全文
posted @ 2019-08-13 16:36 Raina_R 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1. about对话框 包含头文件 添加菜单项 创建about对话框 运行后点击菜单栏下的"关于", 弹出"关于"对话框: 2. question对话框 添加菜单项 创建about对话框 运行后点击菜单栏下的"选项", 弹出"选择"对话框: 通过返回值触发相应动作 添加菜单项 创建文件对话框 运行后 阅读全文
posted @ 2019-08-08 17:42 Raina_R 阅读(1222) 评论(0) 推荐(0) 编辑