- 博客(12)
- 资源 (12)
- 收藏
- 关注
原创 从C++单例模式到线程安全
先看一个最简单的教科书式单例模式:class CSingleton{public:CSingleton* getInstance(){if(NULL == ps){ps = new CSingleton;}return ps;}private:CSingleton();static CSingleton* ps;}
2016-07-14 23:00:06
450
原创 socket TCP编程中connect的一些坑
1.服务端listen成功后,系统就自动接收客户端请求了man listen:其中有一段The behavior of the backlog argument on TCP sockets changed with Linux 2.2. Now it specifies the queue length for completely establishe
2015-01-29 17:56:06
10581
1
原创 关于epoll边缘触发模式(ET)下的EPOLLOUT触发
ET模式下,EPOLLOUT触发条件有:1.缓冲区满-->缓冲区非满;2.同时监听EPOLLOUT和EPOLLIN事件 时,当有IN 事件发生,都会顺带一个OUT事件;3.一个客户端connect过来,accept成功后会触发一次OUT事件。其中2最令人费解,内核代码这块有注释,说是一般有IN 时候都能OUT,就顺带一个,多给了个事件。。以上,当只监听IN事件,
2015-01-13 22:47:24
5137
2
原创 epoll的一些关键点和总结(二)
epoll异步精髓(ET模式):2个epoll初始化片段:epoll_event ev;ev.events = EPOLLIN | EPOLLET;ev.data.fd = fd;int ret = epoll_ctl(_epfd, EPOLL_CTL_ADD, fd, &ev);_pEvents = new epoll_event[EPOLL_SIZE - 1];i
2015-01-12 17:32:52
941
原创 epoll的一些关键点和总结(一)
1.两种工作模式以及ET模式下的数据收发异常:在epoll中有两种模式:level-trigger模式,简称LT模式,和edge-trigger模式,简称ET模式。其中,LT是默认的工作模式。LT(level triggered)是缺省的工作方式,并且同时支持block和no-block socket。在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd
2015-01-09 14:44:58
973
原创 关于char*类型返回值和字符串常量
//看这样一段程序:#include char* fun(){ return "fun";}int main(){ printf("%s", fun()); return 0;} 这段程序可以正常run,但是最好不要这么做。因为 直观上你返回了一个局部的东西出去。 你可以再外面定义这个常量,然后返回。
2015-01-08 10:44:46
1671
原创 关于链接失败 对xxxx ‘__gxx_personality_v0’未定义的引用
用惯了gcc编译程序,结果今天重构一个c程序为c++,编译,链接报了个错:/tmp/ccrDo3QI.o:(.eh_frame+0x2af):对‘__gxx_personality_v0’未定义的引用代码里面真看不出来啊,好纠结。。最后发现,是因为C++要用g++而不是gcc编译啊,尼玛。。。
2015-01-07 17:12:56
1385
原创 linux中绑定80端口失败
Ubuntu 14.10 64bitbind 80端口失败,提示:Bind error!: Permission denied起初以为是80已经被占用,lsof -i :80 , 发现没有,结果发现在基于Unix的系统上,绑定小于1024的端口需要root权限。解决方法很简单,以root权限运行程序吧。。当然还有其它办法,如反向代理,端口转发等。。。。
2015-01-05 11:40:44
3762
2
转载 【转】inet_addr、inet_aton、inet_pton异同小结
Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结知识背景:210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址。英
2015-01-02 20:31:04
1656
1
原创 盛名之下,其实难副?——再读CMU巨著CSAPP
看到文章的标题我相信许多对这本书推崇备至的人都要喷我(本人对其也一直推崇备至的说O(∩_∩)O,然而学而不思则罔,即使是经典巨著,我们也要带着审视的目光去读它,要有敢于怀疑的精神),本文只代表个人观点,欢迎高手指教。 首先说说这本书的定位,个人认为它并不像书中所说的适合
2011-08-11 20:50:21
2335
原创 FOJ 1001之位图数据结构对程序的优化
原题:http://acm.fzu.edu.cn/problem.php?pid=1001大意是有个最多100W长度的整数数组,里面只有2个数相同,我们的任务是输入这组数,输出相同的那个数.最容易想到的方法显然是遍历数组的每个数,进行对比,碰到相同的,则输出,这时该算法的时间复杂
2011-07-29 02:50:55
630
原创 浅谈C文件编译过程
话说总结下C文件编译过程.首先假设有这么一段经典C程序:#include //包含标准输入输出头文件,stdio即standard input&outputint main(void) //主函数,程序入口点{printf("Hello,world!\n"); //标准库输出函数,在屏幕打印"hello world!"(不包括双引号)return 0; //函数返回0值,
2011-07-29 02:24:21
811
C语言程序设计中常见错误分析
2009-11-07
Python开发编码规范 PythonCodingRule
2009-10-13
Software Engineering - A practitioner's Approach
2009-10-13
电脑故障维修大全 chm
2009-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人