桌面开发
文章平均质量分 62
RyanLeiWang
主业:软件工程师/程序员/没有土地的码农; 业余:贫困linux黑客/android开源系统贡献者; 副业: 不入流经济学家/3流投资家
展开
-
QT里的windows.h和winsock2.h重定义错误
windows.h和winsock2.h的相爱相杀的故事,在网络上广为流传,引发无数血案。各种作案场景,前置环境复杂纷繁,其中root原因和发生规律,以及解决方法,大致几种。今天就写上网上没有出现过的解决方法。现场前2天,一同事QT-Creator(msvc编译工具)开发一个远程socket通讯软件,包含 winsock2.h后,编译失败,各种重复winsock2.h里的结构体变量的重复包...原创 2020-04-28 17:30:20 · 4405 阅读 · 5 评论 -
[转] Git 最佳实践:commit msg
1.引言git commit 是很小的一件事情,但是往往小的事情往往引不起大家的关注,不妨打开公司的 gitlab 上的任一个 repo,查看 commit log,满篇的 update 和 fix,完全不知道这些 commit 是要做啥。下面就说一些最近的看到和自己尝试的一些还不错的实践。2. Tips1. one thing one commit在提交 ...转载 2020-01-07 14:14:19 · 662 阅读 · 0 评论 -
windows下打开串口COM10的坑
打开COM10及以上的串口,居然遇到找不到的硬件资源的错误,但是同样的代码打开COM1-COM9是没有任何问题的。用CreateFile()打开串口,如果串口号大于9,会返回INVALID_HANDLE_VALUE错误。原来打开10以上的COM口,传参数是有讲究的。HANDLE hCom = CreateFile("\\\\.\\COM10", GENERIC_READ | GENERIC_WRI...原创 2018-06-19 10:29:46 · 8623 阅读 · 0 评论 -
一次电流限流引发的血案
一个早就发布并且使用了至少几千次的软件突然不能正常工作了。某同事更新了DSP的固件版本后,发现由PC端应用程序不再正常工作了。现象是:PC端应用通过CAN下发一个命令给MCU后,就再也接收不到MCU的任何反馈了。重现概率10次可以重现9次,剩余的那次的成功也有很大问题:频谱仪扑捉不到我们的电子产品发射出的任何射频信号(正常情况下,下发CAN消息后,该产品应该发射出指定频率的射频信号)。但是,我们...原创 2018-09-08 14:55:32 · 494 阅读 · 0 评论 -
重格式化输出QT的QDebug信息
QT-Creator的qDebug()输出调试信息很方便,并且可以简单的重定向保存为log文件。但是qDebug()输出的信息没有直接带上当前文件名和行号,甚至当前系统日期时间等信息。这里介绍一个方法重新格式化qDebug()输出信息,可以添加上你需要显示的额外信息,同时保存成log文件。QtMessageHandler gDefaultHandler = NULL; // get ...原创 2019-05-05 10:51:42 · 1373 阅读 · 0 评论