摘要: 这一系列主要记录阅读《C专家编程》中,需要注意的一些内容。 寻常算术转换(P22-24) P23:当执行算数运算时,操作数的类型如果不同,就会发生转换。数据类型一般朝着浮点精度更高、长度更长的方向转换,整型数如果转换为signed不会丢失信息,就转换为signed,否则转换为unsigned。 #d 阅读全文
posted @ 2021-01-07 17:11 maxiaowei0216 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 在克隆大型项目的时候,可能实际仅需要其中的一部分文件。以micropython为例,我们可能仅需要它的跨平台编译工具mpy-cross,那么只需要用到其中的lib,py及ports中的部分内容即可。 使用git的sparse-checkout命令,可以只拉取指定的目录和文件。 实际上仍然会下载整个仓 阅读全文
posted @ 2021-01-07 17:02 maxiaowei0216 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 进程管理 Linux内核中的进程是非常复杂的,在操作系统原理中,我们通过进程控制块PCB描述进程。为了管理进程,内核要描述进程的结构,我们也称其为进程描述符,进程描述符直接或间接提供了进程相关的所有信息。 进程控制块PCB是名字为struct task_struct的数据结构,它称为任务结构体,为了 阅读全文
posted @ 2020-07-06 22:31 maxiaowei0216 阅读(252) 评论(1) 推荐(1) 编辑
摘要: 一、分析fork系统调用 fork系统调用简介 fork 系统调用将创建一个与父进程几乎一样的新进程,之后继续执行下面的指令。程序可以根据 fork的返回值,确定当前处于父进程中,还是子进程中——在父进程中,返回值为新创建子进程的进程 ID,在子进程中,返回值是 0。 首先以一个例子来展示fork系 阅读全文
posted @ 2020-06-14 21:59 maxiaowei0216 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 准备工作 配置和编译Linux内核 下载和解压Linux内核,此次实验使用的是5.4.34版本 使用make menuconfig来配置内核,主要配置以下几个选项来开启内核调试功能 Kernel hacking > Compile-time checks and compiler options > 阅读全文
posted @ 2020-05-26 14:45 maxiaowei0216 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 一、配置mykernel 2.0 本次实验使用的是Ubuntu 20.04 LTS 64位系统,运行在虚拟机中。 在项目主页(https://github.com/mengning/mykernel)上有详细的安装配置教程,主要命令如下: 1 wget https://raw.github.com/ 阅读全文
posted @ 2020-05-12 22:22 maxiaowei0216 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 一、需求分类 1. 功能性需求 交互式多媒体图书平台包括读者端和作者端,这两个客户端的需求是不同的,分别如下: 作者端: 可以编排图书的目录结构、章节内容 章节内容中包括图片、视频、文字 集成第三方软件边学边练,能定义常见练习题比如问答题、选择题 设定阅读顺序 编辑时可以预览读者端的效果 读者端包括 阅读全文
posted @ 2020-04-22 20:02 maxiaowei0216 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 前言 windows下有很多免费的开发C语言的IDE,比如微软自家的Visual Studio社区版,开源的code::blocks(自带mingw)等等,没必要再单独下载mingw折腾调试环境搭建,使用现有方案简单快捷得多,还不容易出错。而在linux系统下,相关的IDE就少了很多,前面提到的co 阅读全文
posted @ 2020-04-02 13:28 maxiaowei0216 阅读(5394) 评论(0) 推荐(1) 编辑
摘要: 此次课程主要包含VSCode、git、vim和正则表达式四个方面的内容。 VSCode Visual Studio Code combines the simplicity of a code editor with what developers need for their core edit- 阅读全文
posted @ 2020-03-30 15:25 maxiaowei0216 阅读(204) 评论(0) 推荐(0) 编辑
摘要: VSCode配置 为了使用VSCode调试功能,需要配置launch.json和tasks.json文件,使得VSCode可以编译并启动调试。 在VSCode中打开lab5.1文件夹,并打开其中的menu.c文件。此时按下Ctrl+Shift+B进行编译,下面的终端会提示编译错误的信息,主要意思是缺 阅读全文
posted @ 2020-03-18 17:40 maxiaowei0216 阅读(1138) 评论(0) 推荐(0) 编辑