自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈硕的Blog

吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。……君子生非异也,善假于物也。 @bnu_chenshuo

  • 博客(5)
  • 资源 (3)
  • 收藏
  • 关注

原创 deplate(Viki) 全面定制

最近拿 deplate 重新制作了个人主页(www.chenshuo.com),其间对 deplate 0.7.3 做了不少改动,记录在这里,备查。头一次用 ruby,可能方法比较笨拙,见笑。1. 禁用符号替换。根据 deplate 手册第 9.10 节,它会自动把 ->、class Deplate::Formatter::HTML     def format_symbol(invoke

2006-02-22 19:23:00 5601

原创 小试一把 64 位 Windows 编程

环境:Windows 2003 Server x64 Edition, Visual Studio 200564-bit 的编程模型有很多种(LP64、LLP64、ILP64),Windows x64 版采用的是 LLP64 模型:int、long 都是 32-bit,void* 是 64-bit,新增数据类型 long long,也是 64-bit。我写了个 console

2006-02-22 15:03:00 6519 4

原创 去掉 deplate(Viki) 生成的 html 文件行尾多余的空格。

在使用 deplate (Vim Wiki, Viki 的引擎)生成 html 页面时,它会把源文件中的换行替换为空格,这对英文文档是合适的,不过在处理中文文档时就会多出一个空格。我试过 jjgod 写的 zh-cn-autospace 模块,不知道为什么,它没有按手册中叙述地那样把“我 们”自动转换为“我们”。于是我阅读了一下 deplate 的源码(版本 0.7.3),发现只要在 elemen

2006-02-14 16:50:00 4327

原创 CC2e:《代码大全(第2版)》集萃

《代码大全(第 2 版)》是一本写得很有意思的书,既有生动的比喻,偶尔也有夸张的表达,另外作者还时不时开开玩笑,读起来一点也不枯燥。以下是从中摘录的一些有趣的话。这个版本略有删节,等书出版之后,我会扩充这里的内容。 首先为人编写程序,其次才是为机器。 傻子都会写让计算机理解的代码;而优秀程序员写的是人能看懂的代码。(Martin Fowler) 好习惯很重要,

2006-02-13 19:50:00 17639 56

原创 zlib 在 Visual Studio 2005 下编译失败的解决办法

最近需要读写 png 文件,按照以前的办法试验,却发现无法编译zlib 1.2.3。出错信息为:inffas32.asm(594) : error A2070: invalid instruction operands inffas32.asm(596) : error A2070: invalid instruction operands inffas32.asm(610) : error

2006-02-06 15:07:00 7622 1

当析构函数遇到多线程── C++ 中线程安全的对象回调 PDF

编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以借助 boost 的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。 本文源自陈硕在 2009 年 12 月上海 C++ 技术大会的一场演讲《当析构函数遇到多线程》,内容略有增删。原始 PPT 可从 http://download.csdn.net/source/1982430 下载。 本文读者应具有 C++ 多线程编程经验,熟悉互斥器、竞态条件等概念,了解智能指针,知道 Observer 设计模式。

2010-01-23

《当析构函数遇到多线程》PPT

这是陈硕在 2009 年上海 C++ 技术大会演讲《当析构函数遇到多线程》的 PPT 投影片,可自由用于个人学习,其他使用需得到作者许可。 简介:编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的成员函数期间,对象 x 不会在另一个线程被析构?如何避免这种 race condition 是 C++ 多线程编程面临的基本问题,可以借助 tr1 中的 shared_ptr 和 weak_ptr 完美解决。这也是实现线程安全的 Observer 模式的必备技术。

2010-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除