
编程语言基础
袁海璐
不要想着站在巨人的肩膀上,你要想想巨人走了,你是什么。
展开
-
实现简单的内存管理
1 源码:源码已经提交github,内存管理github链接,欢迎一起讨论。2 实现过程该代码实现了在固定地址空间上进行内存的分配与释放。在操作系统启动时刻指定固定的地址作为mymlloc()操作的Heap空间,也可以直接定义数组。在嵌入式系统中,最好指定固定的地址,方便进行管理以及问题的排查。2.1 内存控制块定义struct free_block_t{ unsigned long size; unsigned char *start; unsigned char *en原创 2020-07-13 21:38:15 · 789 阅读 · 0 评论 -
再看"extern"
extern 主要有以下几种功能:1、作为函数和变量的外部申明,注意如果后面存在赋值动作,则变成定义。例如: int a; //definiction extern int a; //decreation extern int a = 10;//definition2、extern “C” 这是为了实现C++和C混合编程。C没有函数重载功能,但是C+...原创 2019-07-29 17:54:10 · 116 阅读 · 0 评论 -
lef文件的深入研究
先来解释一下名词,ELF的英文全称是Executable and Linkable Format。可执行和可链接的文件。 和elf文件对应的是bin文件,bin文件是直接加载到内存中执行的文件,用uboot直接把bin文件拷贝到bin文件的运行地址,(注意,一定要拷贝到运行地址)这时使用go命令就能够执行刚才拷贝的bin文件。elf文件需要用加载器进行加载,由于elf文件已经...原创 2019-08-18 11:14:54 · 5445 阅读 · 2 评论