OS
文章平均质量分 82
demo_zzt
尚未佩剑,便已江湖
展开
-
编译,预处理
文章目录前言一、编译二、编译多个文件三.关于头文件三.关于gcc的搜索路径四.关于预处理前言我想写一个系列的博客去解释编译,链接的过程。作为自己工作一年的总结。让大家不要困惑在配环境这种问题上。一、编译为什么会有编译这个过程呢?其实本质的原因是:CPU是无法直接理解我们写的程序语言(像C,C++等),有过一点汇编语言基础的,我们会了解到CPU执行的是一系列指令集,像mov,jmp,call等。当然不同的CPU执行的指令集还存在差异,这些指令集是由像英特尔的开发人员设计的。所以我们写的高级程.原创 2021-04-09 00:20:51 · 241 阅读 · 0 评论 -
应用眼中的操作系统:系统调用
文章目录前言一、什么是可执行文件二、查看ELF文件1.objdump2.readelf三、调试四、系统调用前言本篇文章是2020南京大学"操作系统: 设计与实现"的课程笔记。这里说一句蒋炎岩老师讲的太好了。课程内容详见B站。本文章记录的内容主要是课程中学到的命令和工具,方便自己在日常生活中使用理解。记录的内容只是课程的一部分。一、什么是可执行文件可执行文件也是字节序列,我们可以用cat命令去查看这个文件,当然这个时候,我们看到的是乱码。乱码的原因是可执行文件的编码格式和文本编码格式不一样。可执行原创 2021-04-10 00:43:12 · 348 阅读 · 0 评论 -
XV6 Lab: page tables
XV6 Lab: page tables文章目录XV6 Lab: page tables一、vscode调试xv6代码二、调试过程1. kinit();2. kvminit();总结一、vscode调试xv6代码参考二、调试过程1. kinit();voidkinit(){ initlock(&kmem.lock, "kmem"); freerange(end, (void*)PHYSTOP);}对于end变量的赋值是通过kernel.ld确定的。(链接脚本)对原创 2022-05-18 22:50:29 · 939 阅读 · 0 评论