自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 【无标题】

关键字的作用,以及如何使用?能够改变变量和函数的作用域以及生命周期,对于局部变量而言它可以延长生命周期并保持其值;对于全局变量、函数而言限制了可见范围。关键字的作用用于定义常量、引用等,const 修饰的数据是不可修改的。常量指针,指针指向的地址不可变。指向常量的指针,指针指向变量的值不可更改。编译阶段也可做优化提高性能。new 与 malloc 的区别在最新版的C++中,new 会在自由存储区分配内存,malloc 在堆上分配内存;new 会自动调用构造函数创建对象,malloc 不会;

2024-06-20 15:53:34 327

原创 Linux-0.11进程追踪

进程的调度是在内核态下,而此时write()功能失效,就像printf()只能在用户态下使用,内核态下需要使用printk()是一样的道理。参考printk()、sys_write()。此系统调用将创建一个与原来进程几乎完全相同的进程,子进程默认情况下是完全复制父进程的数据段、代码段,但如果初始参数或传入变量不同,可以让它们做不同的工作。state 可以是新建(N)、就绪(J)、运行®、阻塞(W)、退出(E) 中的一种。前四句原本在init()中初始化,现在提前了,需要将init()中的注释掉。

2024-04-24 10:43:43 798 2

原创 系统调用 syscall

操作系统实现系统调用的过程:应用程序调用库函数(API);API 将系统调用号存入 EAX,然后通过中断调用使系统进入内核态;内核中的中断处理函数根据系统调用号,调用对应的内核函数(系统调用);系统调用完成相应功能,将返回值存入 EAX,返回到中断处理函数;中断处理函数返回到 API 中;API 将 EAX 返回给应用程序。从lib/close.c API 入手_syscall1 是一个宏,定义在 include/unistd.h中{ \long __res;return -1;

2024-04-24 10:40:37 1011

原创 # xv6 文件系统分析

6:VIRTIO_RING_F_INDIRECT_DESC(28) 用于扩展descriptor数组到更大容量,由原本的一个队列struct virtq_desc *desc;当然,性能相应就不高。#define VIRTIO_MMIO_QUEUE_DESC_HIGH 0x084 //只写,descriptor table物理高32地址。#define VIRTIO_MMIO_QUEUE_DESC_LOW 0x080 //只写,descriptor table物理低32地址。

2024-04-24 01:32:06 632

原创 基于C51的迷宫小车

走迷宫机器人

2024-03-27 20:31:11 541

原创 从0到1 手写操作系统

自己动手写操作系统

2024-03-27 20:24:58 392

原创 c51 迷宫小车

if((map[x][y+1] == (map[x][y] - 1)) && (y+1 <= 7))//右方。if((map[x+1][y] == (map[x][y] - 1)) && (x+1 <= 7))//下方。if((map[x][y-1] == (map[x][y] - 1)) && (y-1 >= 0))//左方。if((map[x-1][y] == (map[x][y] - 1)) && (x-1 >=0))//上方。

2023-09-18 15:37:18 401 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除