2019年11月29日

《The Boost C++ Libraries》 第一章 智能指针

摘要: Boost.SmartPointers中提供了多种智能指针,它们采用在智能指针析构时释放内存的方式,帮助管理动态分配的对象。由于析构函数在智能指针生命周期结束时被执行,所以由它管理的动态分配对象可以保证被释放。这样则不会出现内存泄漏,即使你忘记了手动delete。 从C++98开始,标准库中开始提供 阅读全文

posted @ 2019-11-29 15:04 caiminfeng 阅读(278) 评论(0) 推荐(0) 编辑

2019年3月19日

python通过swig调用静态库

摘要: swig可以支持python,go,php,lua,ruby,c 等多种语言的包裹 本文主要记录如何使用swig创建一个可供python中调用静态库接口 首先手上有一个头文件(.h)以及一个静态库文件(.a),这是常见的api分发方式 libcode.a code.h 看一下 code.h 中的内容 阅读全文

posted @ 2019-03-19 21:44 caiminfeng 阅读(2605) 评论(2) 推荐(1) 编辑

2019年1月5日

使用gdb调试

摘要: 启用gdb进行调试二进制程序,必须在二进制程序在采用gcc或g++编译时加入 g参数 启动gdb进行调试的几种形式: 直接启动gdb程序进行调试program程序 启动gdb挂载入进程号为pid的进程进行调试,挂载后gdb会暂停该进程的执行 若程序运行崩溃产生了coredump文件,可采用该方式进行 阅读全文

posted @ 2019-01-05 18:28 caiminfeng 阅读(225) 评论(0) 推荐(0) 编辑

2019年1月4日

Rsync服务部署使用

摘要: rsync服务搭建过程(daemon模式) 配置服务 在/etc/rsyncd.conf文件中写入相应的配置: uid 配置用户,远端命令要使用rsync用户访问共享目录(访问目录的权限) gid 配置rsync服务程序的用户组 max connections 最大连接数 port 服务端口,默认为 阅读全文

posted @ 2019-01-04 17:23 caiminfeng 阅读(152) 评论(0) 推荐(0) 编辑

2017年3月16日

UNP学习总结(二)

摘要: 本文是UNP复习系列的第二篇,主要包括了以下几个内容 1. UNIX系统下5种I/O模型 2. 阻塞、非阻塞,同步、异步 3. epoll函数用例 一、Unix下的五种可用I/O模型 1. 阻塞式I/O模型 阻塞式I/O是最简单的I/O模型。也是系统默认的I/O模型。 图中采用了 ,使用TCP时候的 阅读全文

posted @ 2017-03-16 13:39 caiminfeng 阅读(1098) 评论(0) 推荐(0) 编辑

2017年3月14日

read()函数的困惑

摘要: 给定代码如上所示。编译后运行。 abc 是输入的数据,加上换行符,因此是4个字符,cnt=4。 但是此时如果我们使用重定向,采用文件作为输入,文件中包含两行的内容。我们会发现 函数不会在读到换行符后就停止,而是直接读完整个文件。 得到 ./a.out 阅读全文

posted @ 2017-03-14 16:00 caiminfeng 阅读(1502) 评论(0) 推荐(0) 编辑

2017年3月4日

UNP学习总结(一)

摘要: 本文主要为对UNP第五章部分内容的实验和总结。 UNP第五章对一个echo服务器和客户端在各种连接状态下的表现做了详细的分析,包括了: 1. 正常启动和终止; 2. accept返回前连接中止; 3. 服务器进程终止; 4. 客户进程忽略读错误继续写数据; 5. 服务器主机崩溃; 6. 服务器主机崩 阅读全文

posted @ 2017-03-04 16:33 caiminfeng 阅读(9218) 评论(0) 推荐(1) 编辑

2016年3月23日

C++简单工厂模式

摘要: 简单工厂模式可以说是大多数人接触到的第一个设计模式。资源请求者(客户)直接调用工厂类中的函数,工厂根据传入的参数返回不同的类给资源请求者。下面给出在C++中使用简单工厂模式的一个demo,采用了auto_ptr智能指针管理类资源。 值得注意的是抽象类Product中的析构函数必须为虚函数。《Effe 阅读全文

posted @ 2016-03-23 17:08 caiminfeng 阅读(1148) 评论(0) 推荐(0) 编辑

2015年11月20日

poj3349(hash table)

摘要: 做的第一道哈希表的题目。速度很慢,跑了3000+ms。采用六条边的和对一个大质数的余数作为哈希表的key,理论上质数取得越大,消耗的空间就越大,但是速度会加快,这里取了14997。地址冲突用链表解决。我认为跑得慢很大一个原因是在比较两篇雪花是否相同的操作相当费时,不知道有没有更好的解决方法。此外,这... 阅读全文

posted @ 2015-11-20 15:30 caiminfeng 阅读(962) 评论(0) 推荐(0) 编辑

2015年11月16日

poj1273(Edmonds-Karp)

摘要: 这道题可以算是例题了。求解最大流,采用EK算法,用广搜查找增广路径,找到后更新网络流矩阵,循环执行直至找不到增广路径为止。这里要小心的是重复边的情况。程序也是参照了网上的模版来写的,有一些技巧。如果完全让我自己来实现这个算法,会写的比较难看。还是too young#include #include ... 阅读全文

posted @ 2015-11-16 16:55 caiminfeng 阅读(215) 评论(0) 推荐(0) 编辑

导航