会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2014年3月22日
实现一个简单的C++协程库
摘要: 之前看协程相关的东西时,曾一念而过想着怎么自己来实现一个给 C++ 用,但在保存现场恢复现场之类的细节上被自己的想法吓住,也没有深入去研究,后面一丢开就忘了。近来微博上看人在讨论怎么实现一个 user space 上的线程库,有人提到了 setcontext,swapcontext 之类的函数,说可...
阅读全文
posted @ 2014-03-22 19:11 twoon
阅读(16208)
评论(2)
推荐(7)
编辑
2014年3月19日
c++ 异常处理(1)
摘要: 异常 (exception) 是 c++ 中新增的一个特性,它提供了一种新的方式来结构化地处理错误,使得程序可以很方便地把异常处理与出错的程序分离,而且在使用上,它语法相当地简洁,以至于会让人错觉觉得它底层的实现也应该很简单,但事实上并不是这样。恰恰因为它语法上的简单没有规定过多细节,从而留给了编译
阅读全文
posted @ 2014-03-19 22:08 twoon
阅读(25174)
评论(3)
推荐(5)
编辑
2014年3月17日
一个浮点数计算的问题
摘要: 同事在工作中遇到了一个与浮点数运算相关的奇怪问题,值得一记,该问题涉及代码摘要如下: 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 double s = 6.0; 7 double e = 0.2; 8 9 cou
阅读全文
posted @ 2014-03-17 00:33 twoon
阅读(5083)
评论(0)
推荐(0)
编辑
2014年1月7日
c++11 中的 move 与 forward
摘要: [update: 关于左值右值的另一点总结,请参看这篇] 一. move 关于 lvaue 和 rvalue,在 c++11 以前存在一个有趣的现象:T& 指向 lvalue (左传引用), const T& 既可以指向 lvalue 也可以指向 rvalue。但却没有一种引用类型,可以限制为只指向
阅读全文
posted @ 2014-01-07 23:07 twoon
阅读(33870)
评论(16)
推荐(11)
编辑
2014年1月1日
c++中的左值与右值
摘要: 左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/forward 等新语义的基础。 左值右值的定义 左值与右值这两概念是从 c 中传承而来的,在 c
阅读全文
posted @ 2014-01-01 16:59 twoon
阅读(112852)
评论(8)
推荐(19)
编辑
2013年12月28日
说说尾递归
摘要: 微博上看到有人在讨论尾递归,想起以前曾看过老赵写的一篇相关的博客,介绍的比较详细了,相信很多人都看过,我也在下面留了言,但挑了个刺,表示文章在关键点上一带而过了,老赵自然是懂的,但看的人如果不深入思考,未必真正的明白,下面我说说我的理解。什么是尾递归什么是尾递归呢?(tail recursion),...
阅读全文
posted @ 2013-12-28 16:35 twoon
阅读(27941)
评论(10)
推荐(21)
编辑
2013年12月25日
boost bind及function的简单实现
摘要: 前面在做 http server 的时候,需要做一个回调的接口,要求能够绑定类的函数以及普通的函数到这个回调里,对于这种应用要求,选择 boost 的 bind 和 function 是最合适不过了,但现在情况有些不同,我不准备在现在做的这个东西里加入 boost, 本着以造轮子为乐的精神,现在只能...
阅读全文
posted @ 2013-12-25 12:16 twoon
阅读(6005)
评论(3)
推荐(2)
编辑
2013年12月16日
[译] 玩转ptrace (一)
摘要: [本文翻译自这里:http://www.linuxjournal.com/article/6100?page=0,0,作者:Pradeep Padaia]你是否曾经想过怎样才能拦截系统调用?你是否曾经想过通过修改一下系统调用的参数来耍一把内核?你是否想过调试器是怎样把一个进程停下来,然后把控制权转移...
阅读全文
posted @ 2013-12-16 21:44 twoon
阅读(24992)
评论(2)
推荐(1)
编辑
2013年12月15日
google breakpad for linux 源码解读
摘要: breakpad 是什么 breakpad 是一个包含了一系列库文件和工具的开源工具包,使用它可以帮助我们在程序崩溃后进行一系列的后续处理,如现场的保存(core dump),及事后分析(重建 call stack )等,它提供了非常有效且易用的工具来帮助开发者处理程序的异常崩溃。该项目由 goog
阅读全文
posted @ 2013-12-15 22:44 twoon
阅读(2724)
评论(0)
推荐(0)
编辑
关于条件变量
摘要: 最近在看陈硕写的多线程服务端编程,感叹真是本好书,写作严谨且内容丰富,没有一定的功力和多年实战经验是写不出来的,赞一个。书中第二章讲到了条件变量,对于这个同步原语,我的了解不多,也没曾深入去了解,只知道大概就是个用来当信号处理用的东西,以前在多线程方面,一般就 mutex, semaphore 用的...
阅读全文
posted @ 2013-12-15 18:50 twoon
阅读(5203)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
下一页