- 博客(43)
- 资源 (16)
- 收藏
- 关注

原创 Qt一步步搭建TcpServer0——序
开发环境系列目录系列简介适合对象获取帮助开发环境 开发环境:windows7 + vs2015 + QT5.8系列目录: 老规矩,先贴出预估要出的博客目录,后期如果有多或者有少再动态调整。博客发布后再替换成相应的地址:Qt一步步搭建TcpServer0——序言Qt一步步搭建TcpServer1——封装QTcpServer,QTcpSocketQt一步步搭建TcpServer2——线程池Q
2017-08-01 18:50:56
2319
7

原创 Qt显示pdf系列4——封装pdfium库为动态库,显示pdf
序一新建项目二封装pdfium库三使用封装好的pdf动态库四结语 承接上篇,pdfium的lib文件是已经编译出来了,理论上已经可以开始直接用了,官方提供的测试demo中基本上介绍了用法的整套流程,你可以选择导出一页页的(图片)文件,也可以直接取出Buffer丢给支持图形库去渲染。序 但是需要注意的是,他在实际使用中依旧有很多不便: 1、我们能够编译出来的只有vs2015或以上版本的lib
2017-03-19 22:23:58
13742
26

原创 Sphinx+PHP+Mysql高效搜索web端搭建(windows)
序一安装配置wampserver二下载coreseek1安装coreseek2测试coreseek二配置及其启动 最近几天给朋友搭建了个社工库,框架是Sphinx+PHP+Mysql。但是源码附带文档写的很烂,而且是linux下的, 所以找了些相关资料配置了下,写出来分享给大家。大致源码效果图如下(可自行搜索源码下载): 代码资源截图如下: 序 这里只提供配置,不提供数据,因为我也没有
2017-03-05 17:03:32
5683
1

翻译 c++11move语意的便捷理解
本文是一篇回答,原文链接为:http://stackoverflow.com/questions/3106110/what-are-move-semantics(第一个回答)。对于理解c++11的move概念较有帮助,我用(译注:)补充了自己的一些看法,而(原文:)表示原作者的括号。 正文如下:我想到一种很容易的例子来理解move语意。我们从一个非常简单的字符串类开始,它只包含一个指向一堆内存
2016-01-08 12:21:00
5643
1

原创 c++11智能指针解析——揭开底层面纱,完整理解智能指针
昨天跟同事小小的研究了下关于不同平台下,起因是遇到了一个坑,vs上没有问题,在安卓上却崩溃了。找了半天后发现是c++字节补齐问题,期间包括使用#pragma pack(1)来限定字节对齐方式等各种条件,也是把我们搞的七晕八素,总算是进一步了解了c++对象结构以及编译器的操作(有机会的话也补充下字节对齐的理解)。进而想到了智能指针,稍微了解下。第一次接触智能指针,天知道大学期间自己有多不努力,很多知
2016-01-07 17:00:49
48126
6
原创 Qt一步步搭建TcpServer4——Client的封装与网络库的使用
承接上章: Qt一步步搭建TcpServer3——关闭与启动在上一章讲完Server端的安全启动与关闭之后,我整理了下代码,突然发现内容分配的不太合理,所以这章要说的东西多一点:封装ClientManager->抽成NetApi静态库项目->在别的项目中使用该NetApi库。1、创建ClientManager:ClientManager其实也是类似于Server,自己维护一个会话线程池,客户端要用S
2017-08-26 22:55:59
3617
3
原创 Qt一步步搭建TcpServer3——关闭与启动
前言1Server启动2关闭Server1修改TcpSession2 线程池关闭5总结承接上章: Qt一步步搭建TcpServer2——线程池本章将在上一章的基础上,讲述如何安全的关闭与启动Server。前言首先要更正上一篇的一个文字错误: 在这里这样用信号槽,并且删除Session是安全的。因为其事件循环机制是在按线程来的,在退出session线程之后,才会进入下一个线程的事件循环
2017-08-16 21:30:32
6073
原创 Qt一步步搭建TcpServer2——线程池
1封装TcpThread2修改TcpSession3添加SessionThreads4修改TcpServer5总结承接上章:Qt一步步搭建TcpServer1——封装QTcpServer,QTcpSocket本章将在TcpServer的基础上新增线程池,管理Session。1、封装TcpThread正所谓工欲善其事,必先利其器。要实现一个线程池,按照Qt的线程用法(如果不懂用法的同学,可以参
2017-08-05 21:46:22
5211
2
原创 Qt一步步搭建TcpServer1——封装QTcpServer,QTcpSocket
序一安装git二下载安装depot_tools三安装chromium其他依赖项四下载pdfium项目源码五生成pdfium的vs2015项目六编译pdfium的vs项目七结语 本篇直接介绍谷歌开源项目pdfium怎么编译,pdfium是其实官网里已经有很一个介绍,但是是英文的,而且实际会遇到很多问题:序 注意:1、所有资源都需要翻墙下载,包括文档,同时,从g
2017-08-02 19:13:19
8334
原创 QTableWidget,QTableView分页(2)——使用分页栏
序一新建QTableWidget二加入分页栏三调度逻辑四下载连接及一点点话 承接上文,这篇主要是讲如何使用分页栏,其实也不用多说的,但demo都写了,不妨就简单介绍下吧。序 效果预览: 在这里只介绍了一个分页栏的,因为都一样,接口函数,用法完全一模一样,所以没必要。且table用的是QTableWidget,QTableView也是一样的道理。 开发环境:windows7 + vs2015
2017-07-17 12:40:30
10903
1
原创 QTableWidget,QTableView分页(1)——制作分页栏
序一了解QSS二分页思路三使用封装好的pdf动态库1在vs中使用2在qt中使用四结语 近日做了个tablewidget的分页,也没啥好说的,直接上内容吧。序 效果预览: 一共有两个分页栏,上面的是借(chao)鉴(xi)别人的,地址如下: 传送门 在他人基础上做了个自己合适的分页栏,也就是第二个,将这俩一并拿出来说吧,如有侵权,会删除第一个。 开发
2017-07-13 09:33:31
16658
2
原创 Qt显示pdf系列2——QAxWidget打开Office文件及pdf
序一QAxwidget操作office二QAxwidget操作pdf三总结 承接上章,该扯皮的扯完了,直接进入正题:序 顾名思义,这篇先介绍下QAxwidget来操作office和pdf QAxwidget,即一个ActiveX控件的qt版本,方便我们在qt程序中调用显示,可以直接调用com组件。关于QAxwidget的介绍,官网上有更详细的,可以自行查看: QAxwidget官网介绍
2017-03-12 00:08:31
22810
42
原创 Qt显示pdf系列1——序言,扯淡,选择相关库及方式等
序一尝试显示office二尝试打开pdf1尝试打开pdf文件2选择开源库三总结 前言:这一阵子都在研究qt下显示office和pdf相关方案,需求大致为从ftp上下载office或者pdf等文件,客户端界面上直接显示。大致分为这三个策略:上策直接像web端那样,直接将office诸如ppt,word,excel等直接嵌入过去,但不能让用户编辑和另存为;中策显示pdf,一样不能编辑不能复制另
2017-03-07 20:09:18
4457
3
原创 性能特性测试系列4——QT线程与std::thread(下)之QThread
序一QThread二两种用法二互斥量锁条件变量原子操作及其他三一张图 其实用法早就总结了,但是因为自身事务原因,一直没有比较他们间的效率,甚至各种互斥量,条件变量之间的效率,更多是集中看了下他们各自的api和特点,所以估计以后还需要补充或者是另开一篇来讲= =。序 QThread的线程用法上与std::thread相比有较大的区别,4.4版本之前是继承的方式来使用线程(个人猜测可能是因为那会
2017-01-15 00:23:42
7014
3
原创 性能特性测试系列3——QT线程与std::thread(上)之std::thread
序一stdthread二互斥量与自解锁三条件变量与future四原子操作机制 测试完容器和function之后,立马开始测和总结qt线程和std::thread相关特性,之后可能会继续网络库的测试,如qt的tcp,udp和c++的tcp,udp的一些比较,至于为啥是比较qt和c++之间,我也不知道= =。序 以前虽然也用线程,但没完整试,这次算是各种试一下吧,效率上的测试一是不太好测,二是也
2016-12-31 14:56:48
3180
转载 TCP、UDP、IP 协议分析
转载自点击打开链接互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议
2016-12-27 12:19:37
701
原创 性能特性测试系列2——c++11 std::function和正常调用函数效率比较
序测试结果测试数据解释测试结果总结总结与分析 原本是没打算写一个系列的,结果到了第二篇才开始写一个前言,本来不确定自己会测试哪些东西,哪些内容,以及有没有时间持续写这些比较偏的内容,但既然有打算写第二篇了,那么就写一个系列吧。本系列主要是QT和c++一些对比,当然也可能会有本篇这种纯c++的测试,看情况吧只能说。测到哪里写到哪里,时间就不太好说了= =。序 对于std::function和s
2016-12-21 21:30:38
6019
原创 QtCreator一些使用设置
1、使用vs2015+qt5.7 2、设置qtcreator 工具-选项-环境-键盘-快捷键,查找complete 并设置快捷键为Ctrl+F1(快捷查找) 工具-选项-环境-键盘-快捷键,查找UnFoldAll并设置快捷键为Ctrl+F1 (快捷折叠代码和展开) 工具-选项-文本编辑器-字体和颜色, 字体:宋体 字号:14 工具-选项-文本编辑器-行为-文件编码,设为UTF-8,如果编码
2016-12-16 19:03:41
4718
原创 性能特性测试系列1——STL容器,QT容器性能相关比较和总结
流程序qtstl容器对应关系对比图顺序容器一 stdvector与QVector二 stdList与QLinkedList与 QList三 stddeque关联容器一 Stdset 与 QSetstd unordered_set二stdmap与QMap三std unordered_map与QHash四stdmultimap与QMultiMap容器适配器
2016-12-16 17:21:42
7232
2
转载 cocos2dx3.x物理引擎的碰撞检测
这两天看了下,所以当个笔记,转载自:点击打开链接 通常在游戏简单逻辑判断和模拟真实的物理世界时,我们只需要在定时器中判断游戏中各个精灵的条件是否满足判断条件就可以了。例如,在飞机大战中,判断我方子弹和敌机是否发生碰撞一般在定时器中通过敌机所在位置的矩形是否包括了子弹的位置来判断是否发生碰撞。在消除类游戏中,判断在y轴或x轴上是否要消除相同物品一般在定时器中通过循环来检测
2016-07-25 17:12:08
5485
原创 关于无法解析的外部符号的link错误小提醒
关于无法解析的外部符号的link错误已经是老生常谈了,譬如这个博客: [ 点击跳转 ] 上面列出了10种不同的问题和方案(虽然有好几点是重复的,但还是有一定参考性) 然而今天遇到的是一个vs2013下的恶心问题,上面十种并未提到,因为是特例,所以不具普遍代表性,只是写出来给当做提醒和小笔记。问题:大概是vs又抽风,编译debug版本时没有任何问题,然而在编译release版本时发现死活编译不
2016-02-23 17:19:41
606
转载 C++基本数据类型所占字节数
正好用上了,忘得又差不多,当个笔记咯,转载自:http://blog.youkuaiyun.com/vast_sea/article/details/8076934关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下
2015-11-10 10:20:10
711
转载 find_first_of()和 find_last_of() 【获取路径、文件名】
原文转载自:http://blog.sina.com.cn/s/blog_68208a890100v608.html string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加。我们将介绍一些主要函数。1.函数find_first_of()和 find_last_of() 执行简单的模式匹配
2015-11-09 09:15:23
1012
原创 c++存取dat数据
众所周知,dat是一个类似加密的二进制格式文件,很多人喜欢将游戏数据保存在dat文件中,只有知道你的存放格式,才能够将数据破解出来,因而研究了dat文件的存取方式。其实就是c++文件的操作,只不过是在取的时候需要按照自己存放的格式获取出来。1.struct结构体的格式数据 首先定义一个结构体,用以存放存入dat文件的数据,同时,再取的时候按照结构体的格式进行获取操作:
2015-11-05 12:32:36
27276
2
转载 C++中文件流(fstream)的使用方法及示例
转载自http://blog.youkuaiyun.com/seadplus/article/details/7802346C++文件流:[cpp] view plaincopyfstream // 文件流 ifstream // 输入文件流 ofstream // 输出文件流
2015-11-04 16:33:12
1382
原创 c++自定义消息管理机制升级版(std::bind && std::function)
自从上次写完借(chao)鉴(xi)cocos2dx的消息管理机制之后,也在实际中试着用了几次,只能说对于继承Ref基类方面,一直是最大的不足之处,而后更是遇到了一个问题,使我不得不抛弃这个方式,转而寻找别的方法。 问题(bug):在多重继承中,对于子类如果是先继承别的类,在订阅消息强转成Ref类型指针时,由于c++对象的结构,强转过程中会发生地址偏移,同时在调用时对象每个成
2015-10-20 11:04:58
1594
原创 c++自定义消息管理机制(类似cocos2d-x的实现方式)
某日写逻辑的时候,突然想到,关于消息管理机制,于是想到cocos2dx的__NotificationCenter,虽然不是写cocos2dx了,但是未尝不可自己写一套类似的消息管理机制,方便通知。 因此直接借(chao)鉴(xi)它里面的消息管理机制了:
2015-10-20 09:49:26
1921
原创 unity3d5.1物体椭圆旋转选择界面实现(二)
在上一篇实现了椭圆的方块摆布之后,接着实现方块选择时候的移动效果,由于最近比较忙,忘了写后续了。而且自己正好加到项目中去了,为了适应项目改了很多实现方式,可能会稍有出入,只好以最终版为准了。 我在unity中并没有找到直接将某对象移动到另一位置的api,因此,要实现移动效果,方式有三种: 1、使用Itween插件提供的MoveTo函数,能够达到移动效果。但是
2015-09-06 15:51:22
5557
1
原创 unity3d5.1物体椭圆旋转选择界面实现(一)
偶然在群里看到有人拿了一张椭圆物体旋转选择界面来问怎么实现(也不知道这样描述对不对,反正是椭圆的,而且还是旋转的,类似于关卡和角色选择),于是想了下自己写了一个类似的功能,方法可能不是很完美,但是也算是一个思路吧,就当练练手熟悉unity。原图如下:附自己完成后的效果图:遗憾的是不会做动态图片,也不知道大神写博客是怎么弄运行代码时的动态效果图,只能附上渣渣图片了~
2015-08-25 10:40:13
7395
2
转载 使用Unity3D的50个技巧:Unity3D最佳实践
刚开始学习Unity3D时间不长,在看各种资料。除了官方的手册以外,其他人的经验也是非常有益的。偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享。原文地址:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/,下面是译文。欢迎转载,请注明出处:燕良@游戏开发。另外,欢迎各路高手加
2015-08-21 14:13:30
1700
转载 cocos2d-x在Android真机上使用Sqlite数据库
转自http://blog.youkuaiyun.com/xujiayin/article/details/9221851暂未验证。首先,我是使用sqlite3.c来操作sqlite的,这个库的下载和使用,很多教程上都有介绍。在win32和MacOS上,这个库的使用没啥特别,但是在Android上,却无法直接读取。这里要说明,Android不能读取的原因,是因为对数据库的操作必须有ro
2015-08-17 16:11:50
978
原创 Unity3d的单例及场景间的数据传递
单例是场景间切换时传递数据的最常见的方式之一,在unity中,很多方法被封装,有时候感觉不知道从何处看起,只能从官方文档上去根据功能找类了。个人感觉u3d可视化太过强烈,许多自定义的一些功能似乎让人无从下手,当然也可能是自己水平不够,不太熟悉。比如说场景间的数据传递,在cocos2dx时,我一般会在director里边创建一个单例Interface,用以游戏中的从数据库读取玩家信息,关卡信息,场景
2015-08-17 15:01:07
19536
1
原创 Unity3d5.1简单配置及粒子效果的删除
因为工作需要,跑过来学习unity3d了,其实c++ 转c#还是较为简单的,基本上的语法差不多,只是一些格式写法的差别,同时看了下《太空射击》的视频教程作为入门,从仅有的经历来看,真是被unity的可视化界面和代码的封装性震惊了,全程代码量少的可怜,从获取键盘鼠标输入,到物理引擎各种方法和回调,全部都有封装好了的函数给你使用,只需要拖拖拉拉就把对象赋值和绑定,碰撞检测更是方便,逻辑上也没有cocos
2015-08-11 14:45:31
6551
原创 cocos2d-x3.4json动画删除问题
在本次做毕业设计过程中,cocos studio2.0版本试用了下,导入代码啥的倒是便捷,csb唯一需要注意的是目录问题,哪怕加载csb文件时已经写了目录,也需要在代码中通过setSearchPaths添加该文件目录,否则会找不到资源。但是就本身UI编辑来说,我竟然找不到控件层级怎么调整,在属性中各种值也用不惯,动画编辑器还行,亮点也就是能直接运行了吧= =。所以自己还是守旧一点,用的cocoss
2015-06-10 14:57:44
2119
转载 C++ 11 Lambda表达式、auto、function、bind、final、override
一、Lambda表达式C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下:如上图所示Lambda分为以下几个部分:1、 [函数对象参数] ,2、(操作符重载函数参数), 3、mutable, 4、exception声明, 5、->返回值类型, 6、{函数体}。当然也可以认为Lambda主要分为五个部分:[函数对象参数]、(
2015-02-27 23:11:37
971
原创 cocos2dx3.0进度条的简析
可以说,进度条是游戏中特别常用的一个控件,大部分游戏都会需要用到资源加载条,技能道具的cd,或者是时间条。最近特别喜欢看底层,自我感觉底层是一个让人熟悉整个框架的特别好的方式,这次就来看下进度条的底层,感受一下。class CC_DLL ProgressTimer : public Node#ifdef EMSCRIPTEN, public GLBufferedNode#endif //
2015-02-27 14:51:33
6267
原创 cocos2dx3.0自定义回调函数,传递自己想要的参数
近日,由于自己需要用到一个特效道具,show完特效后会删除场上几个同一类的精灵,为避免同时使用这两个道具时,产生冲突,导致前一个特效的精灵未被删除,所以想了个自定义回调函数的方法,众所周知,定义一个回调函数的用法大致是:__String* draw = __String::create("1"); draw->retain(); for (auto sprite : _sp)
2015-02-07 11:53:32
1489
原创 cocos2dx3.0的label字体去描边
近日一直被3.0的字体描边所困扰,在安卓手机下字体没问题,挺好看,但是在iphone手机上显示特别不清晰,一直很怪异的感觉,尤其是白色的label,后来我同事兼师父将底层改了下,貌似cocos2dx3.2及以后就不存在这个问题了。 方法:找到项目/cocos2d/cocos/2d/platform目录下的 CCDevice.h文件 的静态gettexturedata
2015-02-06 16:35:00
1960
原创 cocos2dx3.0在mac下Android的环境配置
项目进行到关键时刻,关卡大致排完,现在就来捣鼓一下cocos2dx在mac下得Android环境配置。windows下得安卓环境配置可能比较常见和熟络,mac下去打包apk可能就让人容易产生一种更难的错觉,其实不然,大致方法都是相同的,只是具体步骤上可能有些区别。windows下所需要的环境,mac下都需要,只是换成了mac版本。步骤一,下载所需要用到的所有工具和sdk: 1、首
2014-12-23 10:28:09
12607
转载 cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
转自 http://blog.youkuaiyun.com/shun_fzll/article/details/25708983cocos2d-x 3.0 中,如果你需要使用CocosStudio、Extensions扩展库 等等,都需要自己手动添加。添加步骤如下:(比如说现在我要添加libExtensions,libCocosStudio , libGUI)
2014-12-08 15:23:17
907
基于QtcpServer的网络库
2017-08-26
QT打开PDF的Demo(请看资源描述)
2017-08-09
QTableWidget,QTableView分页的分页栏使用demo
2017-07-17
QTableWidget,QTableView分页的分页栏
2017-07-13
自封装的pdfium动态库
2017-05-19
QAxWidget打开Office文件及pdf
2017-04-01
unity3d5.1物体椭圆旋转选择界面实现
2015-09-06
培训中心信息管理系统
2014-02-07
安排教学计划(包括代码报告)
2013-03-29
顺序查找验证程序
2012-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人