
C/C++
文章平均质量分 64
名字太长容易中枪
这个作者很懒,什么都没留下…
展开
-
linux c UDP文件传输 添加了丢包处理
unp.h#include #include #include #include #include #include #include #include /* for nonblocking */#include #incl原创 2014-09-17 09:28:49 · 1326 阅读 · 0 评论 -
C++结合LUA实现代码热更新
最近写一个文件服务器,是用C++写的,go原创 2014-09-23 22:37:44 · 8366 阅读 · 1 评论 -
分布式网页爬虫QQQ
最近课程作业要做一个爬虫,突然想起之前学习过UNP里面的非阻塞IO,以及多路复用,正好能学以至用,所以选择用linux c写一个分布式爬虫,网上一搜其实爬虫的原理其实几分钟就可以搞懂,关键是抓取网页效率要高.先说说我这个分布式网页爬虫的完成情况:已完成部分:1.能够通过一个或多个起始站点地址,进行网页收集.2.支持HTTP协议,CHUNKED编码,将收集到的网页存储原创 2014-05-30 09:59:50 · 1226 阅读 · 0 评论 -
多线程编程实例:不带缓冲的多线程文件复制(使用队列,互斥,条件变量)
说说这个版本的设计思路:1.引入对文件分块的思想,例如一个文件大小为10000 bytes,我可能会将其分成100块,每块数据大小为100 bytes,然后用一个结构把块在文件的起始位置以及块大小记录下来,这些结构会一个队列(ds)管理中.2.主要用到两个线程启动函数,fetch 和 transportfetch线程主要是根据分块的结果到指定的文件中读取对应的文件块,并存储原创 2014-05-03 16:22:16 · 1113 阅读 · 0 评论 -
多线程编程实例:不带缓冲的多线程文件复制 (使用pread pwrite版本)
这篇文章跟之前我发过的多线程编程实例:不带缓冲的多线程文件复制其实内容是差不多的,只不过这个版本是将没原创 2014-05-07 16:43:57 · 1480 阅读 · 0 评论 -
多线程编程实例:不带缓冲的多线程文件复制
其实这个程序实际意义并不大,写这个主要是原创 2014-04-25 23:34:27 · 881 阅读 · 0 评论 -
高效使用vector
参考网页: http://www.cnblogs.com/biyeymyhjob/archive/2013/05/11/3072893.html#undefined1.初始化的时候,最好先用reserve分配空间,减少之后push_back要重新分配内存a次数.vector s;s.reserve(n);vector中一个成员被删除,会导致后面的成员进行copy和析构操作。原创 2014-05-30 09:21:24 · 1188 阅读 · 0 评论 -
关于auto_ptr的一些事
auto_ptr是什么。解释1.auto_ptr是一个管理指针的对象,防止内存泄漏和便于程序员编程时的内存管理解释2.auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。值得注意的是auto_ptr是一个"对象" 而非指针。原理(摘自EFFECTIVE C++ 条款13):当把资源放进对象内,当控制流离开函数,对象的析构函数会自动释放那些资源,原创 2014-04-10 15:46:45 · 779 阅读 · 0 评论 -
标准程序库中带异常处理的栈实现
#include #include #include using namespace std;class Stack{private: deque c;public: class ReadEmptyStack : public exception { public: virtual const char *what() const throw() { retu原创 2014-04-19 23:35:36 · 786 阅读 · 0 评论 -
关于一级指针和二级指针的简单见解
一级指针形式如: int *p二级指针形式如: int **p可能很多初学者会疑惑在函数参数里面到底应该用一级指针还是二级指针。下面用几个例子说明一下:第一个是大家都很熟悉的链表下面是一个链表结构:typedef struct Node{int value;struct Node *next;}对于添加数据原创 2014-04-14 18:36:56 · 1021 阅读 · 0 评论 -
关于函数返回值的一些见解
我们都知道c++函数返回类型有三种 返回值 返回指针 返回引用。下面简单说说在函数返回的时候到底发生了什么动作。返回值类型:拿一个很简单的例子:函数定义:int get(){int n=3;return n;}int main(){int k=get();}先看get函数,局部变量n是一个产生在栈区的值,因此在原创 2014-04-15 09:59:32 · 913 阅读 · 0 评论 -
Linux C 文件传输程序(TCP && UDP) 遇到的一些问题
1.sendto(sockfd,"OK\0",3,0,(SA*) &cliaddr,sizeof(cliaddr))最后一个参数为sockaddr_in 的结构长度,而不是经过转型后的 SA 长度原创 2014-09-17 09:41:37 · 1198 阅读 · 0 评论