- 博客(10)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 Qt Creator自动使用svn源代码版本号编译
有时我们想在编译工程时,使用 svn 的源代码版本号来作为 build 的一个子版本号;或者只是为了识别某个发布版本,与源代码对应起来。 在 Linux 下面有很多的解决方案,使用 svn 工具和一些 shell 命令再加上 -D 选项就可以达到上述目的。 在 Windows 下,使用 Qt Creator 作为开发环境,使用 TortoiseSVN 作为代码管理的客户端工具,该如何实
2014-03-31 14:39:56 7473 5
原创 技术人员为什么要写博客
刚收到邮件,您已经成为 CSDN 专家。 庆祝下。 我认为这是对我 2013 年下半年以来恢复写技术博客并坚持下来的一个肯定。 很多年前,我曾在榕树下、西陆社区、天涯社区、红袖、网易等文学站点写小说,那时也有人问我,写这个做什么?现在不写了,只偶尔在心中构思、琢磨,但我想某年某月某日的某个午后,也许我还会拾起文学的笔来。 在我恢复写技术博客时,老婆曾经在我晚上写博文时问我,
2014-03-28 19:27:04 10915 21
原创 socket 选项 TCP_NODELAY 和 NAGLE 算法
当我们通过 TCP socket 分多次发送较少的数据时,比如小于 1460 或者 100 以内,对端可能会很长时间收不到数据,导致本端应用程序认为超时报错。这时可能是受到了 TCP NAGLE 算法的影响。 关于 TCP NAGLE 算法,可以参考这篇文章《TCP NAGLE算法和实现》以及《网络编程中Nagle算法和Delayed ACK的测试》 ,这里只说程序上如何实现。代码如
2014-03-28 17:27:50 24538 1
原创 Qt进行UrlEncode/UrlDecode(URL编码/解码)
为了让包含中文的 URL 可以使用,需要进行 UrlEncode 编码。Java 中有现成的类库可以使用,其实我们 Qt 进行网络编程时,框架中也带了 UrlEncode 的功能。
2014-03-28 09:27:11 28506 6
原创 设计模式介绍之八:职责链模式(Chain of responsibility)
职责链模式使得一个软件系统中的多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止,从而避免请求的发送者和接收者之间产生强耦合关系。 常见的应用程序框架中有很多职责链模式的应用,比如 MFC 中的消息处理机制、 Android 中的按键处理流程、Qt 中的事件处理机制等等。 下图是职责链模式的 UML 图示:
2014-03-27 08:21:57 4421
原创 Windows二进制文件合并工具
自己用 Qt 写了一个小工具 qjoin ,输入一个文本文件(内容是每行一个文件)和输出文件名,程序自动把列表中的文件进行二进制合并。
2014-03-20 08:30:07 7271 2
原创 使用objdump objcopy查看与修改符号表
我们在 Linux 下运行一个程序,有时会无法启动,报缺少某某库。这时需要查看可执行程序或者动态库中的符号表,动态库的依赖项, Linux 有现成的工具可用:objdump 。 有时我们拿到一个静态库,想调用其中的函数,而某些函数作用域非全局,也可以通过修改符号来达到目的。 Linux 有现成的工具可用: objcopy 。
2014-03-13 11:04:39 30452
原创 libevent实现http server
libevent 是一个事件触发的网络库,适用于 windows、linux、bsd 、Android 等多种平台,内部使用 select、epoll、kqueue 、完成端口等系统调用管理事件机制。著名分布式缓存软件 memcached 也是 libevent based 。
2014-03-13 08:53:18 13671 6
原创 在android上使用valgrind检测内存泄漏
针对 Android 平台编译一个 Valgrind 版本,用来检测 C 语言编写的 native 程序。
2014-03-07 13:16:33 15966 16
原创 免费的webservice接口(天气预报/IP查询/股票查询/手机归属地等)
搜集了一些公共服务的 Web Service 接口,可以在自己的应用中使用。
2014-03-06 18:59:14 11494 2
Qt Quick实例之美图秀秀
2014-07-15
Android Studio加Gradle编译特别慢怎么办
2016-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人