3 张江键盘侠

尚未进行身份认证

暂无相关描述

等级
博文 49
排名 5w+

VS编译redis源码(最详细最完整的方法)

一redis源码编译很多博客对redis的源码编译都说的很笼统,按照他们的方法基本都编译失败了,redis的windows版目前最新版本是3.2,linux版最新是5.0,windows系统用C++连接redis不太方便,如果是Java,用maven下载jedisjar包,配置一下,很好连接redis,而C++则比较麻烦,下面介绍如何用VS2013编译redis源码,并连...

2019-07-18 20:17:07

VS2017 Qt插件安装注意事项

VS2017之后,Qt插件有个自动更新选项,建议取消掉自动更新,以免Qt无法在VS2017中使用,在VS2013/2015中就没有这种问题。如下图,在工具--拓展与更新中取消。如果要卸载重新装回旧版本,建议卸载QtTools,先取消自动更新,关闭VS后,等待5秒左右,会弹出卸载窗口。...

2019-07-15 08:30:54

gitee提交出现“Could not open '***.VC.opendb”

如果打开项目的时候,报“Couldnotopen'***.VC.opendb'”之类的错误,说明git版本控制中加入了***.VC.opendb。***.VC.opendb是在项目打开的时候产生的零时文件,每次打开*.sln都会重新产生一个新的,然后在关闭工程的时候,该文件会自动删除。因此,每次重新打开工程项目的时候,git会报错说找不到正确的该文件。解决方案:在"项...

2019-07-09 09:17:37

Qt界面优化(一): qss修改按钮样式

Qt的界面可以通过qss语法优化,相对于MFC方便了很多,不用继承,重写按钮类的相关类和方法,用类似css样式表的语句即可进行美化,UI和主程序无关,例如下面是一个优化后的按:设置了倒角,边框,背景,鼠标停留,按下的效果,qss...

2019-06-18 13:27:48

C++11原子操作的应用与分析

所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更高。​在以往的C++标准中并没有对原子操作进行规定,我们往往是使用汇...

2019-06-13 20:58:19

各类工具下载路径

Qt所有版本的下载地址http://download.qt.io/archive/qt/如下图所示点击ParentDirectory可以查找QtVSadd-in工具.redis下载路径http://download.redis.io/releases/...

2019-06-12 13:23:07

VS中Qt编译运行时出现LINK : fatal error LNK1158: cannot run 'rc.exe'

由于电脑中装了两个VS,例如我的电脑装VS2015和VS2019,Qt装到了VS2015,在编译时就会出现LINK1158的错误,解决办法如下:我的电脑是win10-64,需要将中的rc.exercdll.dll复制到Qt对应的VS中,例如我的Qt是嵌入到了VS2015,则需要复制到以下安装目录:...

2019-06-11 20:20:58

windows C++ 网络编程

一、什么是Socketsocket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);前两种较常用。基于TCP的socket编程是采用的流式套接字。...

2019-06-10 21:16:24

C++ boost库零基础教程(十):boost 多维动态数组multi_array

C++在创建数组时必须制定除第一维外的维数,例如:arr[m][n];/*表示m行n列,如果不指定第二个参数,就无法指定列数,例如arr[3][a]={1,2,3,4,5,6,7}那么该二维数组的排列方式有多种,如果指定第二列arr[][3],那么只有一种排列结果:1234567*/例如在VS中创建二维数组:...

2019-05-25 21:11:23

C++ boost库零基础教程(九):boost for循环

boostfor循环提供了两个宏:正向迭代BOOST_FOREACH,逆向迭代BOOST_REVERSE_FOREACH使用时需要包含头文件#include<boost/foreach.hpp>基本操作和C++11的for类似,...

2019-05-25 19:41:13

C++ boost库零基础教程(八):散列容器,双向映射容器,环形缓冲区

boost散列容器散列容器(hashcontainer)是一种非常重要的容器类型,它内部使用hash算列表代替二叉树提供跟高的访问效率,散列容器是无序的。boost提供的set,map与STL的set/map用法基本相同,单查找的平均复杂度友O(logN)变成了O(1),查找性能更好。unordered_setunordered_set...

2019-05-19 23:11:39

C++ boost库零基础教程(七):boost数组array

boost数组arrayboost有自己的数组,性能比普通数组差一点,使用时包含头文件#include<boost/array.hpp>boost::array的部分源码如下template<classT,std::size_tN>classarray{public:Telems[N];...

2019-05-19 01:02:07

C++ boost库零基础教程(六):boost timer类实现程序计时

timer类boost的timer类可以计算时间的流逝,可以用来测量程序的运行时间,算法的执行时间等,提供毫秒级别的时间精度,最大的时间间隔是596小时.timer类位于boost命名空间下,需要包含头文件,如下:#include<boost/timer.hpp>​usingnamespaceboost;示例代码:例如计算...

2019-05-19 01:00:17

C++ boost库零基础教程(五):boost日期时间类的用法

boost为开发者提供了日期时间相关的类,例如date,date_duration,ptime等,为C++的日期时间编程提供了极大的便利。要是用boost日期时间类,需要编译boost,具体方法参考上一篇博客【boost的编译方法】。调用方法:包含头文件,名字空间,lib库(各个版本的lib名字不同)#include<boost/date_...

2019-05-09 13:14:27

C++ boost库零基础教程(四):windows下编译boost库

前面介绍的一些boost库功能,都是boost的基础功能,boost还有很多功能需要编译后才能使用。例如Chrono,Context,FileSystem,Regex(正则表达式),Thread等。编译boost库很简单,步骤如下:(1)在cmd窗口下,cd到boost的目录,例如的目录如下:(2)执行批处理脚本bootstrap.bat,完成后会在当前目...

2019-05-05 22:09:28

C++ boost库零基础教程(三):boost字符串处理

boost库也提供了和STL一样的字符串处理方法,不过比STL更加丰富,使用boost的字符串处理方法,需要包含头文件:#include<boost/algorithm/string.hpp>usingnamespaceboost;boost库有很多以“i”开头,"_copy"结尾的函数方法,简述如下:(1...

2019-05-05 10:59:18

C++ boost库零基础教程(二):boost数值转换

在STL中有一些列的字符转换函数,例如atoi(),itoa()等,在boost里面只需用一个函数lexical_cast进行转换,lexical_cast是模板方法,使用时需要传入类型。使用方法:(1)包含头文件#include<boost/lexical_cast.hpp>(2)命名空间u...

2019-05-04 14:47:07

C++ boost库零基础教程(一):boost简介

0.写在前面的话很多C++的工作,都要求会boost,一直用的是STL,对boost不是很了解,最近自学了下,整理自己的学习笔记,分享给有缘的码友,有不当之处请各位指正,有疑问可以留言,我及时回复,大家一起探讨。个人技术qq群:184821652,可以直接找我探讨C++技术问题。以下关于boost的笔记是我个人的学习记录,认为...

2019-05-03 20:43:31

为什么C++模板声明与定义要放在同一文件中?

写了3年多C++程序,很少用到模板,我靠,今天想试一下,照着别人的例子写,什么鬼,怎么都运行不过,仔细比对代码才发现,C++模板的声明与定义必须放到一个文件,.h或者.hpp,真是颠覆我对C++编程的认知,什么坑爹的语法。网上找资料,看博客,看书,才知道必须这样写,太坑了。例如我写的一个A模板类,A.h文件:#pragmaonce#include&...

2019-04-30 22:31:50

基于FFmpeg的视频播放器开发系列教程(四)

     之前的3篇博客,实现了视频音频解码读帧,并同步播放,这篇讲将实现视频进度条的功能,实现拖动播放。还是使用教程【3】的代码,需要前3篇教程的,请点击以下链接:    基于FFmpeg的视频播放器开发系列教程(三)    基于FFmpeg的视频播放器开发系列教程(二)    基于FFmpeg的视频播放器开发系列教程(一)    先在QtDes...

2019-01-14 23:24:19
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。