- 博客(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
474
原创 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
10608
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
5175
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
957
原创 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
1004
原创 关于char*类型返回值和字符串常量
//看这样一段程序: #include char* fun() { return "fun"; } int main() { printf("%s", fun()); return 0; } 这段程序可以正常run,但是最好不要这么做。 因为 直观上你返回了一个局部的东西出去。 你可以再外面定义这个常量,然后返回。
2015-01-08 10:44:46
1687
原创 关于链接失败 对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
1411
原创 linux中绑定80端口失败
Ubuntu 14.10 64bit bind 80端口失败,提示: Bind error! : Permission denied 起初以为是80已经被占用,lsof -i :80 , 发现没有, 结果发现 在基于Unix的系统上,绑定小于1024的端口需要root权限。 解决方法很简单,以root权限运行程序吧。。 当然还有其它办法,如反向代理,端口转发等。。。。
2015-01-05 11:40:44
3803
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
1677
1
原创 盛名之下,其实难副?——再读CMU巨著CSAPP
看到文章的标题我相信许多对这本书推崇备至的人都要喷我(本人对其也一直推崇备至的说O(∩_∩)O,然而学而不思则罔,即使是经典巨著,我们也要带着审视的目光去读它,要有敢于怀疑的精神),本文只代表个人观点,欢迎高手指教。 首先说说这本书的定位,个人认为它并不像书中所说的适合
2011-08-11 20:50:21
2350
原创 FOJ 1001之位图数据结构对程序的优化
原题:http://acm.fzu.edu.cn/problem.php?pid=1001大意是有个最多100W长度的整数数组,里面只有2个数相同,我们的任务是输入这组数,输出相同的那个数.最容易想到的方法显然是遍历数组的每个数,进行对比,碰到相同的,则输出,这时该算法的时间复杂
2011-07-29 02:50:55
644
原创 浅谈C文件编译过程
话说总结下C文件编译过程. 首先假设有这么一段经典C程序: #include //包含标准输入输出头文件,stdio即standard input&output int main(void) //主函数,程序入口点 { printf("Hello,world!\n"); //标准库输出函数,在屏幕打印"hello world!"(不包括双引号) return 0; //函数返回0值,
2011-07-29 02:24:21
822
Software Engineering - A practitioner's Approach
2009-10-13
Python开发编码规范 PythonCodingRule
2009-10-13
C语言程序设计中常见错误分析
2009-11-07
电脑故障维修大全 chm
2009-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人