- 博客(35)
- 资源 (27)
- 收藏
- 关注
原创 c++并发编程 多线程数据共享()
线程间共享数据的问题当谈论多线程数据共享问题时,皆因为修改共享数据。如果多线程之间是通过只读方式读取数据则不同线程之间则不会有影响。*( If all shared data is read-only, there’s no problem,because the data read by one thread is unaffected by whether or not another thread is reading the same data)如果有一个线程或者多个线程会修改数据则要小心此时则
2021-09-04 19:36:01
1925
原创 c++并发编程(concurrency)----线程管理
c++并发编程(concurrency)----线程管理启动线程,指定线程运行函数的多种方法等待线程执行完毕唯一辨别线程的方法如果已经有兴趣启动多线程程序了,那么问自己个问题,如何启动多线程?如何检查多线程执行结束?带着疑问开启我们的多线程之旅。基础线程管理...
2021-08-17 20:57:37
886
原创 SQL学习杂项整理
sql统计同一字段(数据表同一列)不同值计数1、比如,行为分析业务告警表业务类型字段,有区域入侵、攀高、绊线等需要统计2019/12/27分表中不同业务类型告警值参照如下图:2、统计alarm_type 不同值统计数,实现sql如下SELECT sum(case when alarm_type = 11 then 1 else 0 end) as "11", sum(case when ...
2019-12-28 14:24:05
172
原创 Qt 写文件时文件创建 内容为空的问题
车牌识别设备将识别的车牌及图片信息二进制文件返回,调用接口时通过分配存储空间获取车牌图片信息保存文件,代码如下char *bin_img_buf = (char *)malloc(1024 * 1024);char *jpeg_img_buf = (char *)malloc(1024 * 1024);//空间分配完成必须初始化,否则使用时会产生不一致的异常情况,比如此处无法进行写入图片信息mem...
2018-03-22 16:03:33
3150
原创 Qt4 字符转码时崩溃 异常
车牌识别设备返回车牌结果为GB2312,Qt要能解析显示,这时就要进行转码,qstring 存放unicode,实现代码简单如下char plate_num[256] = {0};QString m_strVehPlate;m_strVehPlate = QTextCodec::codecForName("GB18030")->toUnicode(plate_num);在调用转码接口时会崩溃...
2018-03-22 15:44:24
833
转载 QT限制QTextBrowser/QTextEdit最大行数
QTextEdit->document()->rowCount();用document()这个函数获取QTextDocument对象后,还可以获取其他更多的功能,比如限制edit的行数,setMaximumBlockCount(int)等。ui.text->document ()->setMaximumBlockCount (1000);
2015-03-31 10:08:17
8617
转载 Qt经典—线程、事件与Qobject
介绍You’re doing it wrong. — Bradley T. Hughes线程是qt channel里最流行的讨论话题之一。许多人加入了讨论并询问如何解决他们在运行跨线程编程时所遇到的问题。快速检阅一下他们的代码,在发现的问题当中,十之八九遇到得最大问题是他们在某个地方使用了线程,而随后又坠入了并行编程的陷阱。Qt中创建、运行线程的“易用”性、缺乏相关编程尤其是异
2015-03-30 14:32:37
783
转载 Qt中漂亮的几款QSS
/* === Shared === */QStackedWidget, QLabel, QPushButton, QRadioButton, QCheckBox, QGroupBox, QStatusBar, QToolButton, QComboBox, QDialog { background-color: #222222; color: #BBBBBB;
2015-03-30 14:27:51
3597
转载 Qt Qsplitter 问题处理
当使用QSplitter时,如果是多个QSPlitter嵌套使用(如下图)就很容易出现错误。通常是“内存不能为read” (如下图)代码如下:(错误的用法)#include #include #include #include #include #include #include #include int ma
2015-02-12 13:33:05
1992
转载 qt 启动新线程执行定时器
编写QT程序时,时常会需要使用定时器QTimer来执行一些定时任务,但当定时任务执行的时间过长,则会影响整个界面的响应,因此会想到使用另一个工作线程来执行定时器,一般情况下可以选择从QThread派生一个线程类,然后重载run并执行任务逻辑,那下面就介绍一个不用从QThread派生并使用QTimer的例子。主窗口类头文件加入:QThread* _voiceThread;QTimer*
2015-01-20 22:49:12
5161
原创 QT widget 失去焦点不响应按键
帮忙找程序问题,发现程序启动左右控制键以及退格键不好用,但是用鼠标点击界面任何地方之后又好使了!发现是焦点的问题,将焦点设置在启动的窗体就可以了,最简单的方法!1、setFocus使Widge获得焦点widget还有焦点事件,解决焦点切换之后不响应按键:1、void QWidget::focusOutEvent ( QFocusEvent * event ) [virtual prot
2014-12-26 09:40:51
7012
转载 linux添加头文件路径 动态库路径
对所有用户有效在/etc/profile增加以下内容。如果只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 command not found)#在PATH中找到可执行文件程序的路径。export PATH =$PATH:$HOME/bin#gcc找到头文件的路径C_INCLUDE
2014-12-15 16:45:38
443
转载 Linux下JPEG库安装脚本(转)
Linux下JPEG库安装脚本(转)[@more@]该脚本用于在Linux下安装JPEG库,在安装GD库的时候如果没有JPEG库,GD将不能生成JPEG格式的图象. 作者: 何志强#----where to download---- #ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz #----.tar.gz file name--
2014-12-12 12:15:17
675
转载 QT pro文件介绍
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2. 指定源文件SOURCES = *.cpp对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像
2014-12-04 22:18:51
395
原创 qt Qlist<T*>
在工作中class TWtVehicle : public QListTAxis> QListTWtVehicle*> m_newVehList; 用到了Qlist,当获取完 TWtVehicle *tmp变量后追加到 m_newVehList,m_newVehList.append(tmp);在输出是m_newVehList保存的所有变量的值都是一样的,调试半天没找到
2014-12-02 15:45:58
2139
原创 new delete 访问程序崩掉
Qt开发工作中,在一个功能函数中new 一个临时变量接收值,在函数执行完之后接着delete,当在其他的位置再次访问刚才保存的变量值得时候,程序就会出现段错误!这是在面试中经常考到的篡改动态内存的考题,new 开辟动态内存,在delete之后任然访问,这才真正理解篡改动态内存,这是为程序崩掉留下的隐患,所以要选择好开辟与释放动态内存的位置,在此记录!
2014-12-02 10:36:31
491
转载 __declspec,__cdecl,__stdcall区别和作用
__cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要注意了,只有用相同的方法才能够调用成功.另外,像printf这样接受可变个数参数的函数只有用cdecl才能够实现. __declspec主要是用于说明DLL的引出函数的,在某些情况下用__
2014-11-27 18:14:43
947
原创 Qt调用DLL动态库接口函数程序崩掉
工作中使用Qt开发,调用外部动态库.dll,在调用接口函数时总是运行之后崩掉,提示段错误!单步调试总有变量被意外改动,弄了两天在同事的帮助下解决!方法如下:在定义接口函数指针时添加 _stdcall,它的缺陷是只能运行在windows平台,不能跨平台typedef _stdcall int (*Func_WtDev_AxisCount)(int VehicleID);问
2014-11-27 17:57:04
5352
转载 QT中PRO文件写法的详细介绍
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被
2014-11-24 14:49:59
433
原创 Qt text Browser 控件使用
在界面需要显示收到内容可以使用text Browser空间,在工作中使用方便,我在使用中直接使用ui->textBrowser->insertPlainText(),插入文本可是在输出的内容的时候输出的位置不确定有时按顺序依次向下输出,有时在中间输出!解决方法如下:1、使用其他方法写内容textBrowser->textCursor().insertTex...
2014-11-13 15:13:35
51544
4
转载 QT读写XML
test.xml Xml代码 xml version="1.0" encoding="UTF-8"?> Start animinal="cat"> book>book1book> Start> simpleWriter.cpp C++代码 #include #include #inc
2014-09-11 15:24:16
458
转载 QT 写XML文件
前面几章我们讨论了读取 XML 文档的三种方法。虽然各有千秋,但是 Qt 推荐的是使用 QXmlStreamReader。与此同时,许多应用程序不仅需要读取 XML,还需要写入 XML。为此,Qt 同样提供了三种方法:使用 QXmlStreamWriter;构造一个 DOM 树,然后掉其 save() 函数;使用 QString 手动生成 XML。可以看出,无论我们使用哪种读取方式
2014-09-11 15:20:59
1106
原创 QT QDomDocument 读写XML文件
因为需要读取配置文件,我的配置文件采用xml;因此编写了使用qt读取xml文件内容的代码,xml文件如下:?xml version="1.0" encoding="UTF-8" ?>configuration> server> item key="serverip" value="222.88.1.146" /> item key=
2014-09-11 14:16:11
934
原创 qt 解决空间中文显示问题
QTextCodec *codec = QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec);
2014-09-11 10:41:21
420
原创 qt将16进制数据转换为字符串
inline quint8 Char2Hex(char c){ if ('0' && c'9') return c-'0'; if ('a' && c'f') return c-'a'+10; if ('A' && c'F') return c-'A'+10; return -1;}bool Hex2Raw(quint8 *pData, co
2014-09-10 17:28:57
8219
原创 QT串口接收十六进制数据在文本框中显示
//读取串口void MySerial::readMyCom(){ QByteArray temp; if(myCom->bytesAvailable() >= 8) { temp = myCom->readAll(); //读串口缓冲区数据 } QDataStream out(&tem
2014-09-10 11:13:19
7282
1
原创 qt 读取xml文件
因为需要读取配置文件,我的配置文件采用xml;因此编写了使用qt读取xml文件内容的代码,xml文件如下:?xml version="1.0" encoding="UTF-8" ?>configuration> server> item key="serverip" value="222.88.1.146" /> item key=
2014-09-05 23:21:26
618
原创 shell中的basename和dirname
basename 是去除目录后剩下的名字example:shell>temp=/home/temp/1.test shell>base=`basename $temp` shell>echo $base结果为:1.testdirname 是取目录example:shell>temp=/home/temp/1.test
2014-08-18 15:34:31
649
原创 Makefile中常用的函数
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $()或是 ${}这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗
2014-08-18 15:26:09
246
原创 Makefile选项CFLAGS,LDFLAGS,LIBS
CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include
2014-08-18 11:37:26
386
c++学习资料个人整理过程文档.zip
2020-04-17
LeetCodet学习资料.zip
2020-04-11
WinDBG命令行大全.zip
2020-04-11
ONVIF-Streaming-Spec-v250.zip
2020-04-11
Google_Cpp_Style_guide_CN.zip
2020-04-11
gdb手册debuging with gdb 中文 .zip
2020-03-28
cppreference.zip
2020-03-28
CMake Practice.zip
2020-03-28
Debug.Hacks中文版_深入调试的技术和工具.zip
2020-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人