自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dijkstar的专栏

IT技术让中国未来领先世界,微信:dijkstar

原创 qt中基于控制台的程序,如何实现套接字信号-槽方式的接收?(使用lambda语法)

一般认为,qt中传统的【信号-槽】都是配合类一起使用的,如果仅仅写一个简单的基于控制台的测试程序,如何实现呢? 这里以QUdpSocket为例,在控制台程序中使用lambda语法将接收处理函数直接写在【信号-槽】里,好处是简化了设计,不好是语法晦涩难懂,但一定抛砖引玉: //创建udp套接字...

2019-09-19 18:14:35 343 0

原创 Linux下有用的 myprintf 函数

输出如: 2019-09-09 18:29:30:391 [test1.cpp-> myprintf-> L34] hello: 8898,即带了精确到毫秒级时间的printf,对调试时序逻辑的程序非常有用(如多线程时序同步),用法和普通的printf一样: #include ...

2019-09-19 17:57:57 66 0

原创 opengl编程指南第9版源码编译注意事项

1. 到:https://github.com/openglredbook/examples 下载完全版的源码examples-master.zip,大小有131MB左右,不要下载缩略版的,否则\bin\media里面会缺少一些资源文件,无法实现文章中的一些功能;这里百度盘备份了一份:https:...

2019-01-06 11:52:57 1069 1

原创 ffmpeg编程:读取摄像头信息,保存为裸yuv420p、yuyv422视频流

  1. 源码下载:https://download.csdn.net/download/dijkstar/10898462 2. 编程环境使用Windows下的QT5.11 minGW32,源码中已经放好了fmpeg的bin、include、lib; 3. yuv420p:指的是 【pla...

2019-01-05 22:49:57 1216 1

原创 QT5编译和使用QFTP记录(qt5.11.2 mingw53_32环境)

1. 下载qtftp工程的源码:https://pan.baidu.com/s/1GQZHOwVBke0EgiH_0LVMJQ,并解压; 2. 下载ActivePerl5_64:https://pan.baidu.com/s/1IyGA558PT8xAut4pLGUSWQ 3. 编译qtftp...

2019-01-04 21:19:25 682 1

原创 右键添加cmd命令行

用记事本编辑一个下面内容的文件,文件名就叫“cmd右键打开.reg”: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\folder\shell\cmd] @="CMD右键打开" [HKEY_CLASSE...

2019-01-01 09:32:10 436 1

原创 squeeze函数的意义?

matlab或者numpy中squeeze函数的意义:去掉矩阵中维数为1的条目,注意会减低矩阵的维数,但不会减少元素的数目。以matlab举例: x(2,3,4)=100; % x是一个三维的数组 size(x) ans = 2 3 4 若: y=x(2,2,...

2018-09-14 23:16:51 1851 1

原创 Qt在编译程序时,出现“ has modification time int the future”错误的解决方法。

如题,是当前的计算机日期没有设置正确,使用命令设置好日期时间即可: date -s "2018-07-07 12:12:09"  

2018-08-30 11:13:26 4385 1

原创 CentOS6.6通过yum升级gcc/g++至版本4.8.2(最简易方式)

近日在一台CentOS6.6的机器上成功安装了QT5.7,但在编写测试程序时,发现无法识别“gun++11”语法,检查当前CentOS6.6的gcc版本为:4.4.7 [root@123 bin]# gcc -v Using built-in specs. Target: x86_64-re...

2018-08-30 11:09:07 8958 2

原创 tcp发送不“粘包”的处理(qt和linux)

当使用tcp套接字发送一个很小的数据块时,接收方并不会立即收到,而是等到积累到一定字节后,套接字才会触发相应的接收处理,这种情况并不是我们想要的。我们所需要的是立即响应接收,因此要在发送端做些设置: 若使用qt,可直接使用qt库提供的设置方法: //socket 是 QTcpSocket 类...

2018-08-24 22:31:21 679 2

原创 我的微信二维码

2018-08-24 22:00:58 115 0

原创 嵌入式web服务器shttpd(1)——编译安装

1. 简介: shttpd是一款小型的web server(相比较Apache),但功能却特别丰富,支持CGI、SSL、MD5认证、cookies,不需要配置文件,纯c打造,把需要的功能编译为一个静态库(.a文件),非常适合应用在嵌入式设备中。 这个章节介绍如何在Linux(centos)下编...

2018-08-23 16:55:35 2568 1

原创 CentOS 7.2(1511) 内核升级记录

1. 查看当前centos及内核版本: [root@localhost ~]# uname -sr Linux 3.10.0-327.el7.x86_64 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2....

2018-08-21 16:43:32 683 1

原创 linux修改POSIX消息队列(msgqueue)的各项限制(最大内存、msg_max、msgsize_max、queues_max)

1.进入 目录 /proc/sys/fs/mqueue/,查看各项消息队列的默认max设置: [root@localhost ~]# ls -l /proc/sys/fs/mqueue/ total 0 -rw-r--r-- 1 root root 0 Aug 20 23:04 msg_def...

2018-08-21 14:04:13 4020 0

原创 QT如何处理在网络或内存中传输含有中文的字符串问题?

大家知道,一个含有中文的字符串,比如“中国你好ABC”,在计算机内存储或者传输,最终转换为二进制数据,那么这个中文字符串在QT中,是如何存储、传输、并恢复的呢? 首先,为含有中文的字符串指定编码,这里指定为“UTF-8”,或者尝试“GB2312” //char *codeName="...

2018-08-21 11:39:17 326 0

原创 QT5处理 json 总结

1. 假设生成这样的json结构,并将其写入文件: { "北京市": { "区1": "平谷区", "区2": "海淀区", "...

2018-08-21 10:15:59 3160 1

原创 matlab的帮助文档内容,如何复制?

在matlab的cmd中使用:doc fft,出现的帮助文档里,发现无法使用【ctrl+c】来复制里面的代码,其实matlab的帮助文档使用linux复制语法:复制为【Ctrl+Insert】。...

2018-08-20 13:33:33 1522 1

原创 QT中多个相同的控件如何用代码方式成批的添加?

使用QT编程,假设有这样的需求:向Widget窗体中添加30个按钮(QPushButton),如何用代码实现呢? 有两种方法,一种是: 添加: for(i=0; i<30; i++) { QPushButton *bt=new QPushButton(QString:...

2018-08-20 11:27:17 2744 1

原创 在Linux中使用文件系统NTFS和exFAT的小结

1. 在linux中读写NTFS格式需要内核支持: ① CONFIG_NTFS_FS:#应当设置该选项,这是Linux的内核支持ntfs格式,但该选项只支持NTFS的“读”,不支持“写”; ② CONFIG_FUSE_FS:#需要设置该选项(FileSystem in Userspace),下...

2017-04-28 11:03:34 14464 0

原创 Linux的消息队列,Windows的邮件槽,使用有感

在Linux环境下面,经常使用“消息队列”(mq_open、mq_send、mq_receive等),它非常好用,因为现在的工作中经常处理多线程,要处理好多线程,免不了要有“排队”的处理,上述的消息队列可以很好的实现FIFO类型的队列操作。 Linux这么好用的消息队列,在Windows...

2017-04-02 11:04:03 1041 0

原创 vxWorks6.8开启telnet服务的过程记录

记录vxWorks6.8开启telnet Server的过程: 1. 在Kernel Configuration中添加下列组件,如图所示: (注:上述的LOGIN_PASSWORD的内容为"RQcRcRSS9e",输入时需要带上双引号,一个符号都不要错,它对应的明码是&q...

2017-03-01 13:48:35 3058 0

原创 vxworks6.8中加载一个.out时,显示__frameinfo_add等的警告信息解决

如题,当ld加载一个.out下载类型的可执行文件时,显示如“__frameinfo_add”、“__frameinfo_del”、“__div64”的警告,解决:把编译平台由“XXXXdiab”换成“XXXXgnu” 

2017-03-01 10:20:59 1281 0

原创 qt在GUI显示时,将调试信息输出到控制台的设置

1. 在.pro文件中添加一下设置: CONFIG += console 2. 项目的【构建和运行】中,需要勾选【Run in terminal】:

2017-01-31 22:40:09 3841 0

原创 对线程函数数组、函数指针数组在应用中的一些总结

在工作中遇到这样的一个问题:假设有1000个串口的数据需要接收并处理(串口的个数极端一些,目的是好说明问题),以Windows下的VC为例,一般的每一个串口接收都对应一个接收并处理函数,是不是需要写1000个这样的函数?这是第一个问题。如果每一个串口的接收处理函数都基本相同,唯一不同可以从传递进来...

2016-09-25 11:31:18 566 0

原创 用DirectShow写一个“合并左右声道”的Filter实现小结

因工作关系,需要完成将两个音频采集设备,同时进来的两路立体声,分别抽取每一路中的一路,合并成一个立体声声源,合并后的左、右声道分别是两路立体声的一路,原理图如下:

2016-09-08 14:42:21 952 0

原创 C语言中的sprintf函数使用记事

发现sprintf函数还可以“”对自己“”格式化: char str[1000]={0}; sprintf(str, "%s\r\n", "hello.cpp"); sprintf(str, "%s%s\r\n", str, "...

2016-07-02 19:58:16 1077 0

原创 STL的string如何使用UNICODE?

#include "stdafx.h" #include "TestCmd.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CWinApp theApp; using namespace std; #if...

2016-05-08 20:49:24 1510 0

原创 Linux设备驱动remap_pfn_range() 和remap_page_range()

LDD3的开发环境推荐的是2.6.10,安装了RHEL4-update4,其内核版本为2.6.9.42,编译mmap的程序时报错:Unknown symbol remap_pfn_range 在网上查了下,应将上述报错的函数改为remap_page_range,并且remap_page_rang...

2016-05-08 20:26:20 3468 0

原创 linux设备驱动编程环境的搭建小结(结合LDD3使用)

1. 学习Linux设备驱动程序,肯定少不了LDD3,但该书使用的内核版本2.6.10,目前的linux发行版都比这个版本高不少,使用高内核版本的发行版,编译LDD3,有很多错误。这里使用RHEL4-update4版本,其内核版本为2.6.9.42,在百度盘下载:http://pan.baidu....

2016-05-07 19:01:36 1521 0

原创 MFC的CArray排序小结(结合std::sort)

MFC的CArray非常好用(相对于C/C++的静态数组),但无法根据某个成员排序。下面是结合std::sort一块实现的CArray排序,废话少说,直接上程序干货: #include "stdafx.h" #include "Test.h" #inclu...

2016-05-07 18:07:27 5586 0

原创 VS2008高版本VC使用微软串口控件mscomm小结

在VS2008中使用mscomm的文章有很多,这里把关键的几处小结一下: 1. 最好安装一遍VC++6.0,因为mscomm控件在VC6中是自带的。装好了VC6,在VS2008中就可以直接使用mscomm了;如果不想安装VC6的,那么直接到这里下载mscomm控件,直接运行里面的批处理文件注册; ...

2016-05-07 17:41:36 5296 1

原创 DirectShow中的工具GraphEdit使用小结

一. 安装完Windows SDK 7.0或7.1后,在C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin下有32位的graphedt.exe,及x64目录下有64位版本的graphedt.exe,当使用任何一个版本不正常的行为时,换成另一个版本试试;...

2016-04-10 15:19:45 5652 0

转载 putty(pietty)连接时响应慢解决方法

openssh会在用户登录的时候验证IP和主机名是否对应,如果启用了DNS进行检测,而此时并不存在DNS服务器,则会出现连接响应慢的现象。 解决方法: 1.修改 /etc/ssh/sshd_config文件,添加或者修改一行:UseDNS no 2.重启sshd服务:(在有些参考中执行#servi...

2016-03-27 13:50:17 2660 0

原创 fflush的用途

一次在Linux下写串口的接收应用程序,明明确认已经收到了数据,但是用printf就是打印不出来,后来搜了下,解决的办法是在printf语句的后面加上fflush(stdout)就行了,或者明确的在每次printf()语句里加上"\n"也可以解决问题。暂时记下来,具体原因再思考...

2016-03-27 09:12:09 1926 0

原创 安全字符串函数stringcchXXX与 stringcbXXX什么区别?

以StringCbCat 和 StringCchCat为例: StringCbCat : cbDest [in] Type: size_t The size of the destination buffer, in bytes(用字节方式). The maximum number of ...

2016-03-24 14:58:19 1360 0

转载 DirectShow示例CAMSchedule找不到编译错误的解决

DirectShow中的例子,在编译的过程中经常会出现这样的错误: Error 1 error C2061: syntax error : identifier 'CAMSchedule' c:/program files/microsoft sdks/windows/v...

2016-03-23 16:33:43 962 0

原创 VC(VS)的64位编程小结

1. 在Win7 x64下编程产生的程序,可以是Win32(x86),可以是x64的,都能运行,在【任务管理器 -> 进程】页面上,Win32的程序会以*32标记; 2. 高版本的VC,如VS2008,若产生了x64的程序,实际上定义了宏【_WIN64】,_WIN64可以用来判断当前程序...

2016-03-23 13:26:07 3224 0

原创 VC下的产生区间随机数小结

1. 如果要产生的随机数范围不大,可以使用下面一个函数, int my_rand(int M,int N) { return (int)((double)rand()/(double)RAND_MAX*(N-M+1)+M); } 因为上述的RAND_MAX的是0x7FFF(32767); ...

2016-03-22 13:45:16 1231 0

转载 win7 writefile写磁盘失败解决

引用链接:http://msdn.microsoft.com/en-us/library/windows/desktop/aa364562.aspx           http://msdn.microsoft.com/en-us/library/windows/desktop/aa364...

2016-03-21 16:32:33 4097 0

原创 Win7下设置DirectShow编译环境小结(特别的x64位环境)

1. 下载DirectShow 由于现在directShow没有和direcxtx一起发布,而是和windows sdk 打包发布了,Windows SDK 7.1 地址:http://www.microsoft.com/download/en/details.aspx?id=8442,或者到百度...

2016-03-19 22:32:30 4748 2

提示
确定要删除当前文章?
取消 删除