![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 79
世外桃源
人生苦短,岁月流逝,总要留下踪迹
展开
-
内存溢出性bug记录,不好找原因,出差,复现概率极低挂机几个月都有没浮现的
内存溢出典型问题原创 2023-12-23 11:54:17 · 866 阅读 · 0 评论 -
开发GD32遇到的坑B点
移植stm32程序到GD32遇到的坑,坐下记录分享原创 2022-09-04 16:39:47 · 3015 阅读 · 1 评论 -
C优化注意事项,中断优化O2
项目场景:OP操作面板,flash空间不够用,需要优化代码,然后采取优化方式O2,编译通过,但却无法运行问题描述`接着上一个话题OP操作面板,一个主机linux+一个单片机OP,二者通过I2C进行通信。具备升级功能。单片机的flash空间位128K,我的设计方案是30K的boot+45K的app运行空间+45K的app备份空间,另外的8K空间用于用户数据存储。也就是说真正运行代码空间只有45K,虽说flash位128K的。那这个时候就需要进行代码的优化,采取编译器的O2优化方案。原本41K的运行原创 2022-04-21 21:30:00 · 313 阅读 · 0 评论 -
大量数据下两个任务对同一组数据的操作
更新博客缘由: **一晃大约1年半没有更新过博客了,还是要督促下自己了。最近项目遇到问题,更新下,供大家参考也为自己留个纪念**项目场景:主机linux系统+从机单片机之间进行通信,通信方式采取I2C方式,时间为20ms一次。I2C为主从模式,从机不具备主动上报功能,因此只有主机定期查询从机状态问题描述主机linux芯片功能强大,通过I2c挂载一个单片机,单片机用于做按键+显示功能。1:主机通过下达write I2C数据控制单片机显示各种画面数据。2:主机通过20ms轮询方式读取从机按键原创 2022-04-19 21:02:38 · 445 阅读 · 0 评论 -
visual_studio编译C代码使用tcp需要添加ws2_32.lib
使用visual_studio调试C中TCP需要在代码中加入window库:如下:#pragma comment(lib,"ws2_32.lib")C中调试使用tcp的目的是:通过tcp发送指令,模拟嵌入式中的按键操作.使用方法是:vs运行后数据通路建立,之后的操作,自己弄个协议就可以了,让嵌入式摆脱了实际按键测试.还是比较方便的完整代码如下:#define _WIN...原创 2019-11-04 15:13:26 · 1704 阅读 · 0 评论 -
C++入门面向对象基础知识
熟悉下C++ 的面向对象随着语言学习的比较多,而且都处于基础阶段,基础容易被忘记,做个例子,复习用。其中的内容和python比较相似,毕竟都是面向对象。#include <iostream>#include<time.h>using namespace std;#define MAX 10class Box{public: double length...原创 2019-10-14 16:22:24 · 262 阅读 · 0 评论 -
window编程socket(C版本)
前言为什么要弄出一个window C版本的程序?使用python的tcp不是更为容易?其实我做这个的目的就是为了测试自己写的C代码,通过tcp的socket编程可以理解为tcp == 串口,可以测试协议数据等等,此外可以移植如加密的各种算法,然后通过tcp通道传入加密原始数据,加密后返回加密结果等等,算是一个小工具。话不多说上代码 。#include <stdio.h>#incl...原创 2019-07-16 18:38:32 · 626 阅读 · 0 评论 -
window共享内存(c版本clion实现)
前言在window上面模拟两个程序之间数据的传递,上篇文章采用的是socket编程的方式,今天采取window共享内存的方式。采取共享内存方式好处把,也没发现有什么特殊的,可能就和共享的文件名有关关系吧,可以采取多个文件名,实现多个进程之间的通信把。话不多收上传代码,做个记录下面这个程序运行后作为向共享内存中写入数据#include <windows.h>#include &...原创 2019-07-16 18:27:39 · 321 阅读 · 0 评论 -
嵌入式项目中打印管理
对于单片机开发来说,如stm8 stm32,代码中加入过多的打印会影响效率,但是不加打印影响代码的调试,因此,控制代码的打印显得尤为重要。直接看代码,没啥好解释的。粘贴复制就是干吧。注意:我是在window上面的clion中测试的,因此又sleep(1)这个函数可以使用#define PRINT_DEBUG_LEVEL 3 // 控制打印的等级unsigned char S...原创 2019-07-09 18:08:57 · 312 阅读 · 0 评论 -
C枚举实战用法
前言提起枚举大家感觉很简单的,但是理解不深的我也被嘲笑过,特此来此坐下记录,只有自己写出来的,亲手敲出来的,理解才会更清楚typedef enum{ MONDAY = 0x00, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, DAY_NUM,}WEEK_e;WEEK_e day; // 定义...原创 2019-05-30 14:06:35 · 1604 阅读 · 0 评论 -
C语言笔记
@[TOC](字符串问题)原创 2019-04-03 11:07:10 · 151 阅读 · 0 评论 -
注册回调函数实现方法
前言回调函数(callback):回调函数就是在框架设计之初留下一个还未实现的接口,供后来人去实现(不实现也没事)。也可以理解在别人的函数中“插一脚”,有一种“你的过去我来不及参与,你的未来我奉陪到底”。 看代码的时候是不是总能看到api提供了一个注册函数,这个被封装,你是否好奇他是如何实现的?话不多说,上代码回调函数是由函数指针来实现的,在看这个之前先要了解函数指针哦int (*p[5...原创 2019-04-12 12:34:07 · 14083 阅读 · 3 评论 -
入门单链表操作
单链表基础操作创建、增加、删除等浅谈原理话不多说,代码来见typedef struct LinkList{ int element; struct LinkList * next;}link_list_t;int main(int argc, char * argv[]){ while(1) { ui_task(); }}v...原创 2019-04-12 08:53:15 · 196 阅读 · 0 评论