c++
lhq_215
这个作者很懒,什么都没留下…
展开
-
C语言中结构体占用内存问题
之前对结构体占用内存一直很混乱,到底是按照哪个变量类型计算内存?还是怎么计算?下面先看一个例子: 1 2 3 4 5 6 7 struct str1 { char a; int b; float c; dou...转载 2018-09-15 12:07:39 · 358 阅读 · 0 评论 -
CDT规约解读
在电力行业,采集RTU数据经常会选择CDT规约,而物理链路上一般走串口232转485。如果是短距离传输,不需要转发器,传输距离长了最好232转485后转光纤再转485转232,防止信号衰败丢失。 下面主要介绍CDT规约。相对101规约、102规约和104规约,CDT规约比较简单。 调试的时候可以使用串口调试工具接收串口报文,3个eb 90 开头的即可确定是CDT转载 2018-01-30 11:14:45 · 12809 阅读 · 0 评论 -
查找CPU占用率达到100%的原因
最近运行服务器程序,发现某个进程CPU占用率超过100%,有些奇怪,该进程功能很简单,主要是用来接受客户端请求,根据一些算法选择gate服务器,我们逻辑功能都是写在脚本层,我查看了该进程脚本层代码,比较简单,没有使用while循环,那问题肯定是在C++底层上,就决定调试下,步骤如下。1、查找进程id,使用ps命令,截图如下:发现出问题的进程id为18010。2、查找转载 2017-06-02 18:46:41 · 642 阅读 · 0 评论 -
使用Windbg简单排查线程 CPU 100%的方法
环境:Windows7工具:Windbg 方法很简单:1、 使用Windbg直接attach到CPU 100% 的进程上面(另外注意的是如果多核的,可能就不是100%了,譬如双核的可能就是CPU持续保持在50%的消耗)。 2、使用!sunaway命令查看各个线程的消耗程度。0:027> !runaway User Mode Time Thread转载 2017-06-02 19:42:09 · 1383 阅读 · 1 评论 -
VC中串口使用的详细解答--包括串口编程的流程
VC中串口使用的详细解答--包括串口编程的流程 1、关于串口编程的windows自带的API函数,只有Linux中的编程,也有相应的库函数供调用--后面章节有讲解(1)CreateFile()--把串口的操作当作一种文件的方式来处理用途:打开串口原型:HANDLE CreateFile(LPCTSTRlpFileName,DWORD dwDesiredAccess,DW转载 2017-07-24 21:56:22 · 630 阅读 · 1 评论 -
【VC】中自定义消息实现
在VC项目开发中,很多时候需要自己定义消息进行事务处理。上次也刚好有同学问及,这里综合网络上的一些资料,集中起来供参考。自定义消息我们可以通过一下两种方法来自定义一个消息:1) 方法一Step 1:使用WM_TASKBARCREATED来确定一个没有被windows本身抢占的消息值,在想添加消息文件中添加代码:const UI转载 2017-08-11 10:14:42 · 219 阅读 · 0 评论 -
QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚。所以,今天就在这里总结一下! 以下为个人模拟Windows资源管理器的一个表单 一、设置表单样式 table_widget->setColumnCount(4); //设置列数 table_widget->转载 2017-09-30 15:25:53 · 3887 阅读 · 0 评论 -
QTableView和QTableWidget翻页功能实现
QTableView和QTableWidget翻页功能实现 主要使用QTableView和QTableWidget中的三个函数实现QTableView::verticalScrollBar()->setSliderPosition(); //设置当前滑动条的位置QTableView::verticalScrollBar()->maximum();转载 2017-09-30 16:17:40 · 3602 阅读 · 0 评论 -
QString::arg()//用字符串变量参数依次替代字符串中最小数值
Cpp代码 QString i = "iTest"; // current file's number QString total = "totalTest"; // number of files to process QString fileName = "fileNameTest"; // current file's na转载 2017-09-30 16:20:13 · 708 阅读 · 0 评论 -
C++ 初始化列表(转载)
何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在 C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ; fo转载 2017-09-30 16:21:28 · 154 阅读 · 0 评论 -
modbus 入门篇,不冗长,很好理解!(转自中国工控网)
先来简单分析一条MODBUS-RTU报文,例如:01 06 00 01 00 17 98 04 01 06 00 01 00 17 98 04 从机地址 功能号 数据地址 数据转载 2017-12-06 21:59:51 · 3723 阅读 · 1 评论 -
VC2008中影响exe大小和速度的全部编译选项(转)
VC2008中影响exe大小和速度的全部编译选项(转) 我再次强调,完全脱离编程环境的C/C++学习方法,不是好的方法,现在所谓的环境中立理论就是“什么都不学”理论,VC、GCC,主流的就两个,精通其中一个就能吃遍天下,教材里就应该选择一个大讲特讲! 作为VC的代表,今天我给大家介绍VC中的编译器选项,全面介绍不需要,MSDN里从头到尾都介绍完了,今天我只讲对生成的exe文件大小和转载 2017-12-26 11:59:54 · 317 阅读 · 0 评论 -
Qt之生成pdf
Qt中如何让图片、文本、HTML或者其他形式的内容生成pdf呢?主要利用QPrinter来实现,QPrinter不止可以操作打印机来打印纸张文件,并且可以将文件保存至磁盘,存储为pdf格式的文件。图片生成pdf代码如下:QPrinter printer_pixmap(QPrinter::HighResolution);printer_pixmap.setPa转载 2018-01-22 15:53:48 · 543 阅读 · 0 评论 -
Qt之操作数据库(SQLite)
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。 QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序: 驱动程序 数据库转载 2018-01-22 15:56:03 · 399 阅读 · 0 评论 -
Windows/Linux下C/C++内存泄露检测工具
一 Window下的内存泄露检测(以VC++环境为例)灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行时你看不出它有任何异常,但长时间运行或在特定条件下特定操作重复多次时,它才暴露出来。所以,内存泄露往往是难以发现,也难以定位解决的。Visual Leak Detector(VLD)是一款用于Visual转载 2017-01-17 18:58:29 · 342 阅读 · 0 评论