- 博客(4)
- 收藏
- 关注
原创 通过Win10的WSL实现保护装置程序的一键交叉编译
装置嵌入式开发的程序编译经常都是采用Windows上的ubuntu虚拟机中运行交叉编译工具进行编译,本身虚拟机占用磁盘、CPU、内存资源,同时操作不方便。我们尝试了在Windows上直接用官方同版本的windows交叉编译工具进行编译,但是发现二进制产物有较大差异,不敢用于生产。最终测试通过Windows上的WSL子系统(ubuntu分发、和之前虚拟机中的ubuntu也是同版本)上交叉编译,产物可以认为是二进制上一样,所以推荐这种方式。wsl是什么呢?
2023-08-18 09:21:39
284
1
原创 linux posix消息队列测试
如果之前消息队列里面有一些消息,先正常接收,,消息队列中的字节数越来越小,收完了就会显示接收失败。从下面运行情况可以看出,在没有接收程序的情况下,发送满10条后就发送失败,是非阻塞的。从消息队列文件中可以看出里面的字节数不断增长,字节数等于每次的字节数8*发送次数。打开消息队列的函数中设置O_NONBLOCK,那么发送和接收函数都是非阻塞的。如果不同时间段分别启动3个发送程序,可以看出收到的消息的优先级是3个不同的。因为发送程序发送的时候是带优先级的,下面函数的最后一个参数i是变的。从下面看接收是阻塞的。
2023-04-16 19:30:37
347
1
原创 格式化字符串函数sprintf、snprintf的探索
0.问题来源:开发基于C/C++的底层程序,希望0依赖,用语言自带的函数进行字符串的处理,主要涉及到strcpy、strcat、sprintf函数,这里暂且只讨论sprintf函数。1.sprintf函数(Windows/Linux)我们知道,C/C++里面最常用的字符串格式化函数是sprintf。但是这个函数最直接的问题是可能导致字符串越界的问题。如下面例子,因为预先无法预测格式化字符串%s对应的字符串str的长度,而缓存buf的长度是固定的,就有可能会把buf写越界。#include <
2022-05-07 15:53:15
1947
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人