- 博客(149)
- 资源 (2)
- 收藏
- 关注
原创 手写嵌入式操作系统
学习之前需要安装keil参照Keil uvision5安装#include<stc8h.h>#include<intrins.h>#define MAX_TASKS 2 //假设当前系统只有2个task#define MAX_TASK_DEP 32unsigned char idata task_sp[MAX_TASKS]; //任务的堆栈指针unsigned char idata task_stack[MAX_TASKS][MAX_TASK_DEP];//每
2023-08-23 22:17:31
280
原创 C语言指针补充
:可以修改指针指向内存空间的值(*p=200);不可以修改指针变量的值(p=&b);):可以修改指针变量的值(p=&b);不可以修改指针指向内存空间的值(1、所有指针类型存储的都是内存地址,内存地址都是一个无符号十六进制整形数。在32(x86)位操作系统下所有指针类型是4个字节大小;//不建议将一个变量的值直接赋值给指针。//野指针:指针变量指向一个未知的空间。//操作野指针对应的内存空间可能报错。//空指针是指内存地址编号为0的空间。//操作空指针对应的空间一定会报错。//空指针可以用在条件判断。
2023-07-14 10:33:39
349
原创 文件块读写
为 类型,此参数指定写入文件内容的块数据大小size size_t unsigned int。: 为 类型,此参数指定读取文件内容的块数据大小size size_t unsigned int。成功:实际成功读取到内容的块数,如果此值比 小,但大于 ,说明读到文件nmemb 0。:写入文件的块数,写入文件数据总大小为:nmemb size * nmemb。:读取文件的块数,读取文件数据总大小为:nmemb size * nmemb。成功:实际成功写入文件数据的块数目,此值和 相等nmemb。
2023-07-12 16:05:18
353
原创 枚举的概念
举元素本身由系统定义了一个表示序号的数值从 0 开始顺序定义为 0,1,2 …枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。枚举值是常量,不能在程序中用赋值语句再对它赋值。在枚举值表中应列出所有可用值,也称为枚举元素。
2023-07-03 10:38:16
292
原创 联合体(共用体)
4、共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被覆盖;2、联合体的大小是最长成员类型的倍数,,因此此时联合体的大小是8*2=16,而不是12。3、同一内存段可以用来存放几种不同类型的成员,但每一瞬时只有一种起作用;1、联合 union 是一个能在同一个存储空间存储不同类型数据的类型;2、联合体所占的内存长度等于其最长成员的长度,也有叫做共用体;5、共用体变量的地址和它的各成员的地址都是同一地址。1、再对b赋值时,a的值会被覆盖掉。
2023-07-02 21:21:06
176
原创 内存分区.
程序在加载到内存前,代码区和全局区(data 和 bss)的大小就是固定的,程序运行期间不能改变。然后,运行可执行程序,系统把程序加载到内存,除了根据可执行程序的信息分出代码区(text)、数据区(data)和未初始化数据区(bss)之外,还额外增加了栈区、堆区。通常代码区是可共享的(即另外的执行程序可以调用它),使其可共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。该区包含了在程序中明确被初始化的全局变量、已经初始化的静态变量(包括全局静态变量和局部静态变量)和常量数据(如字符串常量)。
2023-06-28 16:26:05
125
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人