- 博客(107)
- 资源 (6)
- 收藏
- 关注
原创 Linux使用信号量sem_timedwait当作定时器
Linux使用信号量sem_timedwait当作定时器,并与this_thread::sleep_for对比
2024-01-11 21:52:01 519
原创 DLT:dlt-daemon示例解析
dlt-daemon中带有一些示例程序,路径为dlt-daemon/examples/,这里对example1进行解析。这个示例展示了怎样创建dlt程序,包括注册和取消注册,发送log等。
2024-01-05 19:52:44 995
原创 C++简易线程池
添加进来后,其中一个线程执行函数。一个线程一次执行一个函数。如果函数数量大与线程池数量,则后来的函数等待。来存储待执行的函数。函数执行后从队列中移除。1. 线程池创建时,指定线程池的大小。当有新的函数任务通过函数。2. 线程池内部有个容器。
2023-12-30 20:56:01 457
原创 全排列理解
它们的全排列为2 3 4、2 4 3、3 2 4、3 4 2、4 2 3、4 3 2 六组数。即为以2开头的3,4的全排列,以3开头的2,4的全排列,以4开头的2,3的全排列。然后看最后两个数3,4,它们的全排列为3 4和4 3,即以3开头的4的全排列和以4开头的3的全排列。把打头的元素固定下来,剩下的就是n-1个元素进行递归。以此类推n个不同元素的全排列即为这n个元素分别打头,后跟其余n-1个元素的全排列;把选中的数据放前面,没选中的放后面,这样可以不用单独创建待选列表,可以减少开销。
2023-12-18 19:47:56 418
原创 Linux Ubuntu 下C++数字雨 流星雨
以前写过一个Window下的数字雨,像黑客帝国里那样的01数字,现在补充一版Linux下的。使用了curses库,安装方法与使用方法参照。
2023-11-17 19:05:21 469
原创 C++11 chrono high_resolution_clock实现计时器
程序参考《深入应用C++11 代码优化与工程级应用》,使用high_resolution_clock实现计时器,在测试程序性能时会用到,测试程序的耗时
2023-10-29 13:26:02 400
原创 Linux MQTT环境搭建详细步骤
回到paho.mqtt.c的目录下,然后重新make,在build/output/samples会有生成文件,执行MQTTClient_subscribe,然后在另一个终端执行MQTTClient_publish,就可以看到通信。上网搜索apache activemq,找到它的官网https://activemq.apache.org/。在https://github.com/eclipse/paho.mqtt.c下载安装包并解压,进入目录。注意,这里直接make,不是去build文件夹下make。
2023-07-02 20:27:32 3087 1
原创 C++ 利用condition_variable退出带有的sleep睡眠的线程
还有一种方法sleep的时间改成很小的单位比如1ms,然后通过计数的方式控制sleep时长,通过设置和判断计数值来控制停止或继续,这里不详细说明。这个程序实现了基本功能,但是对异常输入无法识别,比如暂停时又按下停止。下面程序稍微做了一些改进。线程中有sleep,可以暂停,可以继续,可以停止。暂停分为立即暂停和等sleep完成再暂停。停止线程时,分为立即停止和等sleep执行到时间才停止。下面的程序演示这个功能。如果线程中有sleep,想停止线程或暂停线程,应该怎样做?
2023-06-09 09:09:11 441
原创 Python字符串替换,替换开头字符串,替换结尾字符串
/ 后面这个1表示替换次数,1次就替换最开始匹配的字符串。表示结尾,所以会替换结尾处的字符串。表示开头,所以会替换开头处的字符串。正则表达式替换原始字符串。
2023-03-17 20:07:19 2449
原创 qDebug()输出QString,转义字符不生效
翻译:将字符串t写入流,并返回对该流的引用。通常,QDebug在引号中打印字符串,并将不可打印的字符转换为它们的Unicode值 (\u1234)。要在不进行转换的情况下打印不可打印的字符,请启用 noquote() 功能。禁用在 QChar、QString 和 QByteArray 内容周围自动插入引号字符,并返回对流的引用。现象:当我在QString中加入制表符\t,并用qDebug()打印的时候,发现并不起作用。禁用引号时,打印这些类型时不带引号字符,也不转义不可打印字符。
2023-03-15 08:51:45 916
翻译 eProsima RPC over DDS User Manual翻译,第4章
通过eProsima Fast-DDS库提供一种网络传输实现方法。注意,也支持RTIDDS,此发行版仅时用于eProsima Fast-DDS。如要使用RTIDDS,请从eProsima网站下载RTIDDS-based发行版。
2023-03-10 21:41:18 212
翻译 eProsima RPC over DDS User Manual翻译,第3章
rpc over dds的文档比较少,找到一个用户手册还是英文的,于是我翻译了一下,并修改了其中的一些链接的小问题。机翻为主,不足之处欢迎指正。
2023-03-08 21:37:18 208
翻译 eProsima RPC over DDS User Manual翻译,第1-2章
rpc over dds的文档比较少,找到一个用户手册还是英文的,于是我翻译了一下,并修改了其中的一些链接的小问题。机翻为主,不足之处欢迎指正。
2023-03-06 21:25:04 291
原创 QTabBar进阶用法:修改标题宽度,使标题宽度自适应窗体宽度,close图标大小设置,close图标修改,文字对齐方式修改
QTabBar修改标题宽度,使标题宽度自适应窗体宽度,close图标大小设置,close图标修改,文字对齐方式修改
2022-12-12 14:56:05 7022 5
原创 The QColor ctor taking ints is cheaper than the one taking string literals [clazy-qcolor
QtCreator警告:The QColor ctor taking ints is cheaper than the one taking string literals [clazy-qcolor-from-literal]改为 c = QColor(0, 0x11, 0x22);改为 QColor c(0, 0, 0);这种方式不推荐,会产生临时的QString。
2022-12-02 08:40:57 866
原创 QChart笔记4:动态显示Linux内存曲线实例
上图是Ubuntu下系统监视器的部分截图,其中红色的线表示使用内存占比,绿色的表示交换空间。第二,横轴的标签值中,有数字,也有数字加汉字,而且方向也变了。经过多次尝试,我发现y轴在左边是没有这个问题的,只有在右边时有。尝试和查找了大半天,我猜测可能是左边的"60秒“被什么挡住了,只有在y轴在左边时才会显示,于是我灵机一动在左边加了个空轴,然后我就卡住了,搜索了好多文章也没找到答案,大家好像没有遇到这个问题。只能自己尝试更改,正向的时候也是有问题的。看起来好像不难啊,我开始也是这么觉得的。
2022-10-24 21:50:34 663
原创 QChart笔记1:简单线性图LineSeries
对QChart不太熟悉,今天开始研究一下,记录下来研究的过程。QChart是专门画图表的类,这里先从最简单的线性图表开始。
2022-06-08 22:13:43 663
原创 QString转char*, char* 转QString时丢失字符
// QString 转 char* QString smsg="{static_cast<void*>(smsg.trimmed().toUtf8().data())}{static_cast<void*>(smsg.trimmed().toUtf8().data())}"; QByteArray baba(smsg.trimmed().toUtf8()); //must char* payload = sta.
2022-05-09 19:54:36 658
原创 解决submodule在yocto中获取不到的问题,以及git克隆子模块失败问题
https://stackoverflow.com/questions/37569941/how-to-clone-a-git-repo-with-its-submodules-recursively-in-yocto比如有个工程ABC,它有个submodule,名字是git/thirdparty/XX。当我用yocto编译ABC时,submodule总是无法下载下来,而自己手动下载submodule却没有问题。查了很久也没有效果,感谢同事给我找了一篇stackoverflow上文章,也感谢stacko
2021-12-10 08:16:39 1259
原创 yocto编译错误:ERROR: libtinyxml2-XXX do_fetch: Fetcher failure for URL
yocto编译,在bb文件中在将git地址改成本地服务器地址时,有一串错误提示,其中大意为:ERROR: libtinyxml2-XXX do_fetch: Fetcher failure for URL:'git://git@XXX/tinyxml2.git'. Unable to fetch URL from any source.我单独clone可以成功,但是在yocto中不成功。猜测可能是没有指定协议和分支的原因,加上去后就好了。解决方法:SRC_URI = "git://git@X
2021-12-07 20:32:37 2938
原创 通过文件获得Linux下CPU使用率
我要获得CPU的利用率,但是不能使用top命令,于是上网查询后,发现CPU信息存储在/proc/stat文件中,它的内容是这样的。具体含义网上有很多介绍,我只关心总的CPU使用情况,所有只使用第一行数据即可。第一行所有值加起来就是总的CPU运行时间,其中127411844这个值是空闲时间,用(1-空闲时间/总时间)*100即可得到CPU使用率的百分比。文件中的值是只开机到目前的总时间,为了获得类似top效果的使用率,需要间隔一段时间读取两次,用第二次获得的结果减去第一次获得的结果,然后就能.
2021-11-30 16:20:14 699
QChart鼠标悬停显示
2023-02-16
PrintScreen.rar
2019-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人