- 博客(31)
- 收藏
- 关注
原创 嵌入式学习——ARM学习(1)
高速缓存(Cache)通常分为三级:L1、L2 和 L3。它们的主要功能和特点如下:这三级缓存的设计旨在通过层次化存储来优化数据访问速度和处理器性能。
2024-08-27 19:05:18 1514
原创 嵌入式学习——4——C++中的动态内存分配和回收(堆区)
C语言中使用的是和函数进行动态内存分配和回收的。C++中依然可以使用上述的两个函数来完成动态内存分配和回收的。C++也给用户提供了两个关键字来完成动态内存分配和回收的。
2024-06-05 19:34:49 923
原创 嵌入式学习——4——c++ 结构体+类
1>public: 该权限是公共的, 表示该权限下的属性(变量)、方法(函数),可以在类内、子类、类外被访问。2>protected:该权限是受保护的, 表示该权限下的属性(变量)、方法(函数), 可以在类内、子类被访问,类外不可以被访问。3>private:该权限是私有的, 表示该权限下的属性(变量)、方法(函数),只能在类内被访问,子类、类外不可以被访问。
2024-05-30 20:16:37 838
原创 嵌入式学习——4——c++ 初学
/namespace 命名空间名//{// //标识符(变量名、函数名、类型名)//}//定义了自己的命名空间Test//存放标识符//定义变量//定义结构体类型struct Stuint age;//定义函数cout
2024-05-27 20:28:55 906
原创 嵌入式学习——3——IO分类模型
在阻塞IO模型中,当一个IO操作(如读取或写入)开始时,如果数据没有准备好,程序会被挂起(即阻塞),直到数据准备好并且IO操作完成。- 在数据准备阶段,程序做不了其他事情,它会等待在那里直到整个IO操作完全完成后才会继续执行。- 阻塞IO简化了编程模型,因为在发起IO请求之后,你只需要等待结果,不必担心在这个过程中如何处理其他任务。
2024-05-23 19:26:22 684
原创 嵌入式学习——3——UDP TFTP简易文件传输
简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输特点:是应用层协议基于UDP协议实现。
2024-05-21 19:57:30 703
原创 嵌入式学习——3——域套接字UNIX
1、域套接字是最原始的套接字通信方式,是完成2、由于不需要跨主机进行通信了,那么就无需使用ip地址和端口号了3、通信本质:依然使用的是4、域套接字的通信介质为套接字文件 bcd-lp5、域套接字也分为和6、跟网络通信中相关函数的区别为网络通信提供一个端点,并返回该端点的文件描述符,文件描述符使用原则为最小未分配原则:通信域,可以选择协议族非跨主机通信 详细信息请看 man 7 unix指定通信语义,常用的通信语义如下SOCK_STREAM 支持传输层的TCP通信方式。
2024-05-21 19:51:24 1232
原创 嵌入式学习——3——多点通信
获取或设置套接字在不同层级上的相关属性sockfd: 要获取或设置的套接字文件描述符level: 表示要获取或设置的层optname:当前层的数下名称见下表optval: 要获取或设置的属性值的起始地址optlen: optval的大小返回值:成功 0 失败 -1 并重置错误码。
2024-05-21 19:24:24 969
原创 嵌入式学习——3——网络编程,ip,TCP,UDP
1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。2) TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。4) TCP提供拥塞控制和流量控制机制;UDP不提供拥塞控制和流量控制机制。
2024-05-17 19:37:08 906
原创 嵌入式---2----进程、线程、通信练习
创建一对父子进程,父进程输出 A,子进程输出a 要求使用信号灯集,同步这对父子进程的输出,实现的输出效果为: A-a-A-a-A-a.....,其中 - 表示休眠1秒。使用共享内存实现的2个终端互相聊天,使用信号灯集进行同步。
2024-05-14 18:54:26 248 2
原创 嵌入式学习——2——线程(pthread)
线程是进程的最小组成单位:一个进程里面,至少有一个线程的存在,称为主线程,main函数运行的就是所谓的主线程。
2024-05-10 20:17:43 655
原创 嵌入式学习——2——进程(Process)
1、linux启动的第一个进程是0号进程,是静态创建的2、在0号进程启动后会接连创建两个进程,分别是1号进程和2和进程。3、1号进程最终会去调用可init可执行文件,init进程最终会去创建所有的应用进程。4、2号进程会在内核中负责创建所有的内核线程5、所以说0号进程是1号和2号进程的父进程;1号进程是所有用户态进程的父进程;2号进程是所有内核线程的父进程。
2024-05-09 21:08:37 1004 1
原创 嵌入式学习——2——io——io函数(补充)图片修改
功能描述:将字符串s,输出到stream所指向的文件中返回值:fputs(xxx,fp);EOF(失败)非0(成功)读取size - 1 个字节的数据,因为函数会自动补全末尾结束符\0返回值:fputs(xxx,fp);NULL(失败或者读取到文件末尾)返回第一个参数s(成功)
2024-05-07 19:52:15 623
原创 嵌入式学习——1——C基础——6 指针
格式:存储类型 数据类型 *指针变量名int *p;//p的类型是int*,int表示指针指向地址对应值的类型,指针变量加减运算的偏移量;char*p1;void *p2;//通用类型指针,使用时需要类型强转,多用来传参和返回1、指针的类型和变量的类型保持一致char *q;q = &b;2、指针的类型和变量的类型不一致3、定义指针未初始化,称为野指针野指针:非法访问内存空间缺点: 段错误、计算机混乱、死机4、当定义指针不清楚指向谁,指向NULL。
2024-04-29 19:21:15 527
原创 嵌入式学习——1——C基础——5-数组
1.全局变量未初始化默认结果为0在main函数外定义的变量,全局2.局部变量未初始化默认结果为随机值在main函数内定义的变量,局部3.全部初始化4.部分初始化,默认剩余元素使用0填充//对数组清05.单个数组元素初始化。默认剩余元素是随机值int arr[5];arr[0]=11;arr[1]=22;arr[3]=44;
2024-04-26 20:29:19 883
原创 嵌入式学习——1——C基础——3
/预处理指令:以#开头的都是预处理指令//inlcude:表示这是一个文件包含指令,在预处理阶段会讲括起来的文件给展开//<>:表示这是一个系统库里面的头文件:/usr/include//"":也可以使用双引号括起来一个文件,表示包含指定路径中的某个文件//stdio:standard buffered input/output,标准缓冲输入输出//h:表示这是一个头文件,C或C++的头文件,都是以.h结尾//主程序:主函数,一个程序有且只能有一个名为main的函数。
2024-04-26 19:12:25 507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人