自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 计算机系统基础摘记——程序的链接

目录1 初探链接1.1 可执行文件的生成过程1.2 链接器的由来1.3 概述链接器的关键作用1.4 链接带来的好处2 目标文件2.1 一些基本概念2.2 可重定位文件2.2.1 可重定位文件的格式2.3参考文献1 初探链接1.1 可执行文件的生成过程通常,编程语言分为编译型和解释型两大类,这里主要讨论编译型的语言,而且讨论的系统环境主要是linux。以c语言为例,一个c源程序(本质是文本文件...

2020-03-31 18:25:18 2579 1

原创 linux kernel中的asm-offsets.c

1 在汇编中使用结构体首先考虑一下结构体:struct test{ int a; int b;}这个结构体很简单,只是用来举例子。在c语言中,如果我们要访问结构体中的某个成员,这非常容易:struct test t;t.a = 1;假如我们想知道结构体中某个成员在结构体中的偏移,这也不难,比如linux kernel就提供了offsetof宏来实现这个功能:offseto...

2020-03-24 11:39:09 1295

原创 搭建基于qemu的linux开发环境

目录前言1 编译u-boot2 编译linux kernel3 使用busybox制作根文件系统4 在qemu上利用u-boot启动kernel参考文献前言1 编译u-boot2 编译linux kernelmake vexpress_defconfig ARCH=armmake modules ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-make...

2020-03-23 12:08:16 1568 2

原创 计算机系统基础摘记——c语言数值常量的类型

C90范围类型0~231-1int231~232-1unsigned int232~263-1long long263~264-1unsigned long longC99范围类型0~231-1int231~263-1long long263~264-1unsigned long long...

2020-03-18 13:20:55 1177

原创 多核处理器上的MMU和TLB

目录1 对多核处理器以及进程、线程的困惑2 多核处理器上的MMU和TLB参考文献1 对多核处理器以及进程、线程的困惑虽然不记得在哪个文献上看到过,但确实记得看过类似的表述:对多核处理器,同一时间只能运行一个进程里的多个线程。一直没有深究过这句话的对错,直到看到linux的进程、线程模型,才对这句话产生了怀疑。在表述清楚我的困惑之前,先简单的介绍一下进程、线程以及linux中的进程与线程。首先...

2020-03-17 20:37:24 6328 19

原创 计算机系统基础摘记——整数在计算机中的表示

目录1 数值的编码1.1 原码1.2 移码1.3 补码2 整数在计算机中的表示参考文献1 数值的编码计算机是使用二进制来表示信息,因为对于电路来说,表示1和0两个状态是非常容易实现的。若要使用二进制来表示数值,则需要规定二进制对数值进行编码的规则,不同编码规则下,同一串二进制表示的数值可能不同。下面介绍几种常见的整数编码方式。1.1 原码原码最容易理解,对于有符号数,最高位是符号位,1表示...

2020-03-13 16:58:20 2607

原创 浅析c程序中的屏障

目录1 编译屏障1.1 为什么需要编译屏障1.2 编译屏障会造成哪些影响2 内存屏障2.1 为什么需要内存屏障2.2 内存屏障会造成哪些影响3 总结参考文献1 编译屏障1.1 为什么需要编译屏障众所周知,从c源文件到可执行程序要经过预处理、编译、汇编、链接这4个步骤,其中编译这一步骤至关重要,负责将c语句翻译成相应的汇编语句,而在做这一步翻译时,编译器往往出于优化提升效率的考虑,对翻译得到的...

2020-03-12 10:51:12 1308

原创 浅析c语言的volatile关键字及数据一致性

目录1 一些基本概念1.1 现代处理器的存储体系1.2 内存与I/O统一编址1.3 修改内存单元的两条路子1.4 缓存带来的数据一致性问题1.5 访存优化带来的数据一致性问题1.6 外设带来的数据一致性问题2 volatile的作用2.1 volatile关键字2.2 易变的变量2.3 volatile解决数据一致性问题2.4 volatile能作为屏障吗?2.3 volatile适合线程间的同步...

2020-03-12 10:49:22 1282

原创 计算机组成原理摘记——总线

目录1 什么是总线2 为什么要使用总线3 总线的特性4 总线的结构总线的分类总线的特性总线的控制1 什么是总线总线的英文单词是bus,这个词有公共汽车的意思。公共汽车大家都可以坐,从这个角度看,bus比较形象的说明了总线的特点——共享。概括的说,总线是连接各个设备的信息传输线,是各个设备共享的传输介质。2 为什么要使用总线节约硬件资源:节约引脚,连线少,可扩展性好,单独连接的话,要扩展还...

2020-03-07 21:31:35 3402

原创 c++ invalid comparator

问题描述在leetcode上做题目的时候,用到了stl的sort函数,给vector排序,程序大致如下: ... sort(test.begin(), test.end(), [](auto &lhs, auto &rhs) { return lhs <= rhs; }); ...提交之后,通过了部分用例,然后执行失败,leetcod...

2020-03-05 14:56:41 6845 8

移植u-boot-2019.10以支持jz2440的补丁文件

移植u-boot-2019.10以支持jz2440的补丁文件!

2020-10-22

2020中兴捧月算法大赛迪杰斯特拉赛道初赛题解源码

2020中兴捧月算法大赛迪杰斯特拉赛道初赛题解源码,50个字的限制真的好傻啊

2020-06-27

遗传算法(C语言实现)

用C语言实现的遗传算法,调试通过,可运行,注释良好。

2019-04-02

空空如也

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

TA关注的人

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