代码改变世界

Valgrind使用记录

2016-08-29 17:04 by shuaihanhungry, 3901 阅读, 0 推荐, 收藏, 编辑
摘要:0、安装valgrind wget http://valgrind.org/downloads/valgrind 3.11.0.tar.bz2 tar xvf valgrind 3.11.0.tar.bz2 cd valgrind 3.11.0/ ./configure make sudo make 阅读全文

从实例分析成员函数的调用机制

2016-08-28 10:49 by shuaihanhungry, 269 阅读, 0 推荐, 收藏, 编辑
摘要:第1个测试如果不好理解可以把转换过程中的各个指针打印出来。配上注释已经很好理解了。 include using namespace std; class A { public: virtual void a() { cout vptr[1])(ptr) 这样的形式 其中 ptr 表示 this 指针 阅读全文

C++实现具有基本功能的智能指针

2016-08-27 16:53 by shuaihanhungry, 200 阅读, 0 推荐, 收藏, 编辑
摘要:C++中的智能指针实际上是代理模式与RAII的结合。 自定义unique_ptr,主要是release()和reset()。代码如下。 include using namespace std; template class my_unique_ptr { public: my_unique_ptr( 阅读全文

《深入理解计算机系统》笔记——链接

2016-08-25 21:05 by shuaihanhungry, 657 阅读, 0 推荐, 收藏, 编辑
摘要:链接可以执行于编译、加载、运行时,编译时属于静态链接,加载与运行时属于动态链接。链接由链接器自动执行的,它使得分离编译成为可能。 编译器驱动程序: main.c 经过预处理器 cpp 得到 main.i (ASCII码的中间文件) main.i 经过编译器 ccl 得到 main.s (ASCII码 阅读全文

线程安全、异常安全、可重入

2016-08-24 10:26 by shuaihanhungry, 1063 阅读, 0 推荐, 收藏, 编辑
摘要:线程安全性 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 我们不必担心系统调用的线程安全性,因为系统调用对于用户态来说是原子的,但是要注意系统调用对于内核态的改变 阅读全文

《Linux多线程服务端编程》笔记——多线程服务器的适用场合

2016-08-23 16:30 by shuaihanhungry, 2898 阅读, 0 推荐, 收藏, 编辑
摘要:如果要在一台多核机器上提供一种服务或执行一个任务,可用的模式有 运行一个单线程的进程 运行一个多线程的进程 运行多个单线程的进程 运行多个多线程的进程 这些模式之间的比较已经是老生常谈,简单地总结 模式 1 是不可伸缩的 (scalable),不能发挥多核机器的计算能力; 模式 3 是目前公认的主流 阅读全文

《Linux多线程服务端编程》笔记——线程同步精要

2016-08-23 09:29 by shuaihanhungry, 2282 阅读, 0 推荐, 收藏, 编辑
摘要:并发编程基本模型 message passing和shared memory。 线程同步的四项原则 尽量最低限度地共享对象,减少需要同步的场合。如果确实需要,优先考虑共享 immutable 对象。 使用高级的并发编程构件,如TaskQueue、Producer Consumer Queue、Cou 阅读全文

C++中的RAII技法

2016-08-22 16:58 by shuaihanhungry, 1183 阅读, 0 推荐, 收藏, 编辑
摘要:Resource Acquisition Is Initialization or RAII, is a C++ programming technique which binds the life cycle of a resource (allocated memory, thread of e 阅读全文

C++中的输入参考

2016-08-20 11:13 by shuaihanhungry, 1024 阅读, 1 推荐, 收藏, 编辑
摘要:1、输入输出 1)operator 参考:cplusplus.com Extracts characters from is and stores them in s as a c string, stopping as soon as either a whitespace character i 阅读全文

《深入理解计算机系统》笔记——虚拟存储器

2016-08-16 18:11 by shuaihanhungry, 203 阅读, 0 推荐, 收藏, 编辑
摘要:参考:《深入理解计算机系统》。 阅读全文