
C++
雪峰流云
以技术为乐的程序猿!
展开
-
Weiss的数据结构与算法分析(C++版)源码编译说明
最近尝试编译Weiss的那本数据结构与算法分析(C++版)提供的源代码时,遇到一些问题,特记录如下:考虑到该书提供的代码是使用模板技术较多,这在提供简洁代码的同时,也给源码的编译带来了一些问题。因而我们在编译这些代码时,一定要按照原书的说明来做些转换。拿邮电英文版(简称dsaa3e)本上的第31页上的Figure 1.20 MemoryCell相关的代码为例来说明一下。原创 2013-04-30 15:14:42 · 2494 阅读 · 0 评论 -
Ubuntu 14.04 64bit上curl-7.37源码包中的sample 源码示例研究
libcurl在curl-7.37.1/docs/examples/目录下有很多例子,大致有100个左右吧,对我们使用C/C++开发很有帮助:如何批量编译并运行这些例子呢?我首先是查看该目录下面的README文件来寻求帮助:批量编译的方法是:直接运行该目录下面的Makefile文件:make就会批量生成所有example的可执行文件对每个例子,使用下面的命令单独编译原创 2014-09-13 13:42:01 · 1368 阅读 · 0 评论 -
使用C++ ostringstream来格式化字符串输出
在Linux C中,我们通常使用snprintf来格式化字符串输出,但是原创 2014-09-02 08:16:37 · 10055 阅读 · 1 评论 -
使用C++ stringstream来进行数据类型转换
参考文献[1].C++原创 2014-09-02 10:17:38 · 4031 阅读 · 0 评论 -
redisCommand接口的用法--利用hiredis库获取MGET命令的结果的坑!
工作中遇到如下业务场景:我需要利用大o原创 2014-08-19 17:29:40 · 20299 阅读 · 3 评论 -
SQLite3简单C++包装类源码示例
一个比较好的SQLite3 C++ wrapper包装类的通常思路是这样的:数据库连接类,包含连接池,和sqlite3*,负责与数据库文件的连接问题;一些create table,insert,update,delete等操作都在这里定义,直接使用sqlite3_exec()函数进行就可以,对它的回调函数可以定义为空。如果对数据库执行查询操作,则需要一个单独的操作类, CQuery,它原创 2014-10-10 17:43:46 · 2409 阅读 · 0 评论 -
libcurl使用多线程下载大文件源码示例!
使用libcurl多线程下载的大文件的基本思想:首选打开文件,将文件等分为指定的片段,使用http range下载,一个线程下载一个片段,当线程下载片段时,它们将数据写到打开文件的指定位置,类似BT文件下载的方式(这样片段下载完成后不用再合并),当所有的子线程下载完成后,这个大文件也就随之下载完成了。要注意的问题基本上,每个线程都应该有自己的easy handle用于数据通原创 2014-09-14 20:16:30 · 10611 阅读 · 2 评论 -
libcurl多线程下载开发过程中需要注意的一个问题
使用libcurl进行多线程开发,发现明明已经jieshoud原创 2014-10-14 19:19:51 · 1937 阅读 · 0 评论 -
libcurl选项CURLOPT_WRITEDATA中的“坑”
最近在利用libcurl进行C++程序开发,几次遇到z原创 2014-10-14 19:09:17 · 25916 阅读 · 8 评论 -
curl多线程大批量分片下载大文件源码示例
这段时间,一直在探索使用curl多线程原创 2014-10-15 18:45:01 · 13449 阅读 · 1 评论 -
简单C++线程池包装类源码示例
这里给出一个简单的C++线程池包装类,该lei原创 2014-10-11 14:50:17 · 2157 阅读 · 0 评论 -
在使用stl中的ifstream出错时如何快速排错?
工作中编写demo,解析配置文件,为了便捷, 使用了ifstream函数, 通常我都是这么用的,一般也很少出错, 但是这次确出错了,找了很久才排查出问题.原来是配置文件写错了.特此记录一下心得.快速发现ifstream出错问题的方法是:在出错时输出错误原因,为此需要添加如下头文件,并使用下面类似的代码 #include #include 参考文原创 2016-05-13 15:29:56 · 1087 阅读 · 0 评论 -
C++中stl使用过程中的一些tips
该博文整理一些在使用stl编程过程中遇到的小经验:。1原创 2014-09-22 22:47:25 · 743 阅读 · 0 评论 -
libcurl+ncurses 分段range批量下载和进度条显示源码实例
这个例子来自参考文献[1], 那里有很多小bug,原创 2014-09-13 17:20:14 · 2722 阅读 · 0 评论 -
boost::asio中的C/S同步实例源码
近来狂热地研究boost的开发技术,现将读书bij原创 2014-06-07 19:50:27 · 1810 阅读 · 0 评论 -
boost::asio异步模式的C/S客户端源码实现
异步模式的服务器源码异步模式的客户端源码运行效果截图原创 2014-06-07 21:38:20 · 2452 阅读 · 1 评论 -
使用boost解析域名服务
下面的源码给出了使用boost::asio进行域名解析的方法.原创 2014-06-07 23:16:54 · 4127 阅读 · 0 评论 -
boost::asio使用UDP协议通信源码实现
udp servr端源码udp client端源码yunx原创 2014-06-08 10:03:21 · 3298 阅读 · 4 评论 -
在Ubuntu 14.04和CentOS上安装boost1.55二进制包
centos:yum install boost boost-devel boost-docUbuntu 14.04sudo apt-get install libboost-dev libboost-dbg libboost-doc下面是使用boost的一些收获:1.如何使用多线程库编程?编译时总是说找不到-lboost_thread?这是需要单独安装thread原创 2014-07-26 19:25:18 · 3914 阅读 · 0 评论 -
在Ubuntu 14.04 64bit上安装Valgrind并检查内存泄露
valgrind官网:http://valgrind.org/1.安装方法第一种方式:下载目前源码,编译安装,比较复杂wget http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2tar xvf valgrind-3.9.0.tar.bz2cd valgrind-3.9.0/./configuremakemak原创 2014-07-30 18:40:39 · 13248 阅读 · 0 评论 -
使用valgrind检测ATS插件中的内存泄露
这几天在重构ATS代码的过程中遇到了fa原创 2014-07-30 19:42:58 · 2546 阅读 · 1 评论 -
libcurl下载限速编程调研
目前的业务需求是, 要求下载过程中, 能够恰当控制原创 2014-09-04 07:55:18 · 5501 阅读 · 1 评论 -
libcurl远程获取文件大小源码
这是一个简单的获取远程文件大小的源码,我们可以改写为大批量原创 2014-09-10 14:57:05 · 5959 阅读 · 0 评论 -
libcurl 编程进度条和range请求源码示例
在下面的源码中,我将展示原创 2014-09-13 10:44:11 · 4818 阅读 · 0 评论 -
ncurse界面编程多线程示例
该示例给出了一个 参考文献原创 2014-09-13 11:30:34 · 1325 阅读 · 0 评论 -
C++中的string::compare的使用
在C++中使用std::string编写字符串相关操作时,我经常使用find方法,其实在有些场景下需要判断字符串是否相同,因而需要使用compare方法。下面是我的测试样例://description: 演示String::compare函数的用法,比较两个字符串是否相等?//compile: g++ -g compare_string.cc -o compare_string #inc原创 2016-12-12 19:02:59 · 93587 阅读 · 2 评论