C语言学习
文章平均质量分 76
C语言学习
工匠Sola
这个作者很懒,什么都没留下…
展开
-
STM32 开发之环形缓冲的应用
STM32 开发之环形缓冲的应用,用于串口数据传输时,接收数据长度未知,频率未知,不要求实时处理的场景。原创 2023-02-21 21:39:58 · 852 阅读 · 1 评论 -
Linux下 cJSON安装及使用
一、JSON简介JSON是一种轻量级的数据交换格式,可读性强、编写简单。键值对组合编写规则,键名使用双引号包裹,冒号:分隔符后面紧跟着数值,有两种常用的数据类型是对象和数组。对象:使用花括号{}包裹起来的内容,数据结构{"key1": "value1", "key2":"value2" ......},key为对象的属性,value为对象的值。 数值:使用中括号[]包裹起来的内容,数据结构{"key": ["value1", "value2", "value3" ......]}。下...原创 2022-02-15 09:09:49 · 2769 阅读 · 1 评论 -
Linux C语言实现TCP客户端与服务器
原创 2022-01-30 19:56:14 · 5573 阅读 · 1 评论 -
malloc()背后的实现原理——内存池
使用 malloc() 在堆上分配内存到底是如何实现的呢?原创 2022-01-14 14:03:02 · 784 阅读 · 0 评论 -
Linux下 C语言实现消息队列
消息队列,Unix的通信机制之一,可以理解为是一个存放消息(数据)容器。将消息写入消息队列,然后再从消息队列中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等问题,而且消息队列里的消息哪怕进程崩溃了也不会消失。最简单的消息内存的使用流程①ftok函数生成键值②msgget函数创建消息队列③msgsnd函数往消息队列发送消息④msgrcv函数从消息队列读取消息⑤msgctl函数进行删除消息队列一个消息数据应该由以下...原创 2022-01-24 09:23:32 · 5106 阅读 · 0 评论 -
Ubuntu 20.04 C语言libcurl的安装以及接口的使用方法
安装libcurlsudo apt-get install libcurl4-openssl-dev头文件目录:/usr/include/curl库文件目录:/usr/lib/x86_64-linux-gnu/libcurl.so.4根据自己需求安装,包含openssl 是为了支持https全局初始化 应用程序在使用libcurl之前,必须先初始化libcurl。libcurl只需初始化一次。可以使用以下语句进行初始化:curl_global_init();...原创 2022-01-19 16:14:46 · 6208 阅读 · 3 评论 -
Linux C语言对图片进行Base64编码
一、编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个 “=”。以下为Base64编码表:码值 ...原创 2022-01-21 09:15:03 · 765 阅读 · 0 评论