C/C++
天一涯
希望每天都有新收获~
展开
-
VS2019调试Qt5时QString显示为内存地址而非字符串
拷贝文件到以下目录:原创 2022-10-05 15:50:40 · 381 阅读 · 0 评论 -
Pro文件变量详细说明
工程文件pro主要分为三种app(单独的应用程序),lib(静态和动态库),subdirs(递归编译)。release编译不具有调试信息可执行文件或者库(如果同时指定debugrelease时,只有debug有效)如TEMPLATE=app(默认不指定的情况下是app工程)qmake工具可以使用与平台无关的.pro文件生成与平台相关的。pro文件里,访问Qt配置参数的用法$$[varName]pro文件里,访问环境变量的用法是$(varName)在不同的编译平台上编译时,需要设定条件。...转载 2022-07-21 10:20:24 · 938 阅读 · 0 评论 -
Linux socket编程
服务器端工作流程:客户端工作流程:原创 2022-07-08 16:33:53 · 128 阅读 · 0 评论 -
linux调试技巧
理论上linux 上最大线程数是 = 总虚拟内存(用户空间) / 线程栈大小;一般32bit PC机系统上,进程空间是4G,其中0——3G 是用户空间,3G ——4G 是内核空间,所以理论上最大线程数 = 3*1024/ 8M = 384个,考虑系统主线程占用情况,故可创建的最大线程大概为 < 384个;cat /proc/{pid}/status或者cat /proc/{pid}/status使用pstree命令// 打印所有进程及其线程pstree -p // 打印某个进程的线程数pstree原创 2022-07-04 20:02:15 · 834 阅读 · 0 评论 -
VS调试时显示qstring
VS调试Qt程序,会发现无法查看QString等Qt内置类型的值,可以修改autoexp.dat文件,使Qt内置类型的值也可以查看。C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\autoexp.dat,在VS2005,qt3下亲测可以。搜索 [AutoExpand],添加;QT_DEBUG_START (Qt5 Visual Studio Add-in v2.4.3)QString=原创 2021-09-27 22:50:09 · 1483 阅读 · 0 评论 -
2021-06-21 windows下脚本方式实现进程狗
@echo off:RESTARTrem 进程名字set procName=xxxrem 进程的启动参数set param=-dtasklist /FI "imagename eq %procName%.exe" |find /C "%procName%.exe" >temp.txtset /p num= < temp.txtdel /F temp.txtif "%num%"=="0" ( echo %date% %time% "%procName%已死掉,正在重新启动...原创 2021-06-21 18:29:15 · 186 阅读 · 0 评论 -
system函数返回值探究
http://blog.chinaunix.net/uid-24774106-id-3048281.html?page=3遇到system调用脚本,结果返回了256的情况,那么如何判断脚本是否正常成功调用,即取到脚本的真正返回值system是个综合的操作,分解开来看就是相当于执行了1 fork 生成一个子进程。2 在子进程执行 execl("/bin/sh","sh","-c" command,(char*)0);3 waitpid下面进入正题,返回值:1 如果fork...转载 2021-01-20 08:50:47 · 6511 阅读 · 1 评论 -
关于Qt中QMAKESPEC环境变量
qmake需要一个平台和编译器描述文件,其中包含许多默认值用于生成适当的Makefiles。标准的Qt发行版附带了许多这些文件,位于Qt安装的子目录mkspecs中。该QMAKESPEC环境变量可以包含任何以下内容: 包含qmake.conf文件的目录的完整路径。在这种情况下,qmake将从qmake.conf该目录中打开文件。如果文件不存在,qmake将会退出并显示错误。 平台 - 编译器组合的名称。在这种情况下,qmake将在由mkspecs编译Qt时指定的数据路径的子目录指定的目录转载 2020-09-03 13:15:16 · 5245 阅读 · 0 评论 -
VS调试查看QString
vs2010\Common7\Packages\Debugger中[AutoExpand]下面,添加如下描述 ;Trolltech QtQString=unicode,su> len=len,u>QCString =data, s>QPoint =x= y=QRect =x1= y1= x2= y2=QSize =width= height=QWMatrix =m11= m12=原创 2018-02-04 13:07:27 · 5863 阅读 · 0 评论 -
Qt事件机制研究
事件监听 我们知道Qt 程序需要在main()函数创建一个QApplication对象,然后调用它的exec()函数。这个函数就是开始 Qt 的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件。下面我们来分析一下Qt是如何进行事件监听的。首先当然是分析QApplication的源码,下面是QApplication::exec()的实现:int QApp...原创 2019-02-21 17:14:06 · 847 阅读 · 0 评论 -
驱动及驱动程序的作用
驱动程序:驱动程序是硬件厂商根据操作系统编写的配置文件,是添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。当你安装新硬件时,驱动程序是一项不可或缺的元件。可以说没有驱动程序,计算机中的硬件就无法工作。有了驱动程序中的这些信息,计算机就可以与设备进行通信。操作系统不同,硬件的驱动程序也不同,各个硬件厂商为了保证硬件的兼容性及增强硬件的功能会不断地升级驱动程序。如:Nvidia 显卡芯片转载 2014-01-10 11:36:41 · 2485 阅读 · 0 评论 -
linux网卡驱动源码分析
转自http://blog.csdn.net/ustc_dylan/article/details/6329375网络驱动是一种典型的PCI设备驱动,无论在嵌入式平台还是在PC领域,网络相关的项目开发有着比较广阔的前景,因此,分析当前Linux内核中网络设备的驱动,不但能了解网络相关的基本原理,而且可以借鉴Linux内核的先进的技术,将其应用到嵌入式或其他领域。本文以Linux内核中的原创 2014-01-10 11:26:08 · 7570 阅读 · 0 评论 -
消息队列——维基百科
消息队列在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自使用者。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的资料,包含发生的时间,输入装置的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列互交。消息会保存在队列中,直到转载 2014-01-02 20:41:48 · 1361 阅读 · 0 评论