2014年3月22日
摘要: 之前看协程相关的东西时,曾一念而过想着怎么自己来实现一个给 C++ 用,但在保存现场恢复现场之类的细节上被自己的想法吓住,也没有深入去研究,后面一丢开就忘了。近来微博上看人在讨论怎么实现一个 user space 上的线程库,有人提到了 setcontext,swapcontext 之类的函数,说可... 阅读全文
posted @ 2014-03-22 19:11 twoon 阅读(16208) 评论(2) 推荐(7) 编辑
  2014年3月19日
摘要: 异常 (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日
摘要: [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日
摘要: 左值(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日
摘要: 前面在做 http server 的时候,需要做一个回调的接口,要求能够绑定类的函数以及普通的函数到这个回调里,对于这种应用要求,选择 boost 的 bind 和 function 是最合适不过了,但现在情况有些不同,我不准备在现在做的这个东西里加入 boost, 本着以造轮子为乐的精神,现在只能... 阅读全文
posted @ 2013-12-25 12:16 twoon 阅读(6005) 评论(3) 推荐(2) 编辑
  2013年12月16日
摘要: [本文翻译自这里:http://www.linuxjournal.com/article/6100?page=0,0,作者:Pradeep Padaia]你是否曾经想过怎样才能拦截系统调用?你是否曾经想过通过修改一下系统调用的参数来耍一把内核?你是否想过调试器是怎样把一个进程停下来,然后把控制权转移... 阅读全文
posted @ 2013-12-16 21:44 twoon 阅读(24992) 评论(2) 推荐(1) 编辑
  2013年12月15日
摘要: 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) 编辑