2013年5月13日

GCC 提供的原子操作

摘要: gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type__sync_fetch_and_add(type*ptr,typevalue,...)type__sync_fetch_and_sub(type*ptr,typevalue,...)type__sync_fetch_and_or(type*ptr,typevalue,...)type__sync_fetch_and_and(type*ptr,typevalue,...)type__sync_fetch_and_xor(type*ptr,typevalue,...)type 阅读全文

posted @ 2013-05-13 16:51 残月下章台 阅读(210) 评论(0) 推荐(0) 编辑

2013年5月10日

When to use Delegation, Notification, or Observation in iOS

摘要: A common problem that we often experience when developing iOS applications, is how to allow communication between our controllers, without the need to have excessive coupling. Three common patterns that appear time and time again throughout iOS applications include:DelegationNotification Center, and 阅读全文

posted @ 2013-05-10 14:22 残月下章台 阅读(177) 评论(0) 推荐(0) 编辑

iOS运行回路(RunLoop)总结

摘要: 首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524第一个:#includestaticvoid_perform(void*info__unused){printf("hello\n");}staticvoid_timer(CFRunLoopTimerReftimer__unused,void*info){CFRunLoopSourceSignal(info);}intmain(){CFRunLoopSourceRefsource;CFRunLoopSourceContextsource_context;CFRunLo 阅读全文

posted @ 2013-05-10 14:08 残月下章台 阅读(215) 评论(0) 推荐(0) 编辑

iOS 深拷贝和浅拷贝

摘要: ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象。以下将举几个例子来说明。1、系统的非容器类对象:这里指的是NSString、NSNumber等等一类的对象。NSString *string = @"origion";NSString *stringCopy = [string copy];NSMutableString *stringMCopy = [string mutableCopy];[stringMCopy appendString:@"! 阅读全文

posted @ 2013-05-10 14:03 残月下章台 阅读(155) 评论(0) 推荐(0) 编辑

2013年5月9日

[[Prototype]] and Prototype

摘要: 经常会谈论到prototype,实例对象的prototype对象和function的prototype属性是两个不同的概念,但是经常被初学者混淆。这儿用实例对象表示通过对应function创建的object,是相对于对应的constructor而言的。在ES中没有实例对象这个说法。实例对象的prototype对象,一般称之为原型对象,内部属性[[Prototype]](一般用[[]]表示内部属性)指向此对象,不过通常[[Prototype]]不能直接被访问,部分浏览器提供非标准的__proto__,可以它可以访问原型对象function的prototype属性可以直接访问。使用function 阅读全文

posted @ 2013-05-09 16:34 残月下章台 阅读(215) 评论(0) 推荐(0) 编辑

Javascript中this的取值

摘要: this是javascript中非常基础的一个知识点,也是一个令很多初学者迷惑的知识点。Ecmascript中对其描述如下:There is a this value associated with every active execution context. The this value depends on the caller and the type of code being executed and is determined when control enters the execution context. The this value associated with an 阅读全文

posted @ 2013-05-09 16:27 残月下章台 阅读(298) 评论(0) 推荐(0) 编辑

2011年11月16日

程序员阿士顿的故事

摘要: 阿士顿是一个典型的吃玉米长大的农场男孩,他的父母曾经是嬉皮士,从来没有真正地同心协力过,直到有一天他的妈妈继承了密歇根农村的15亩地。然后 他全家搬到了那里,买了一对奶山羊,靠在农贸市场把有机山羊奶酪卖给雅皮士们谋生。那个时候阿士顿才10岁,他需要每天早晨4点起床给那些该死的山羊挤奶,这活非常累。阿士顿很喜欢上学,因为上学就意味着不需要跪在羊粪里工作了。整个高 中他都异常努力,希望可以拿到一所名牌大学的奖学金,然后他就可以离开农场了。在大学里,他发现大学生活比农场的生活轻松多了,所以搞不明白为什么每个人 不能像他那样每科都拿到A。他选择了软件工程作为自己的专业,因为他深信一个工程师绝对不需要早 阅读全文

posted @ 2011-11-16 16:32 残月下章台 阅读(191) 评论(0) 推荐(0) 编辑

2011年10月26日

Lisp的本质(The Nature of Lisp)

摘要: Lisp的本质(The Nature of Lisp) 作者 Slava Akhmechet 译者 Alec Jang 出处: http://www.defmacro.org/ramblings/lisp.html简介最初在web的某些角落偶然看到有人赞美Lisp时, 我那时已经是一个颇有经验的程序员。在我的履历上, 掌握的语言范围相当广泛, 象C++, Java, C#主流语言等等都不在话下,我觉得我差不多知道所有的有关编程语言的事情。对待编程语言的问题上, 我觉得自己不太会遇到什么大问题。其实我大错特错了。我试着学了一下Lisp, 结果马上就撞了墙。我被那些范例代码吓坏了。我想很多初次接触 阅读全文

posted @ 2011-10-26 10:08 残月下章台 阅读(214) 评论(0) 推荐(0) 编辑

2011年9月22日

微软软件开发技术二十年回顾

摘要: 今年11月,微软新一代的操作系统Vista即将正式发布,它将会极大地改变原有的Windows编程机制。近20年来,随着技术和应用的变化、发展,微软的开发技术也历经变迁。随着微软下一代开发平台vista即将发布,微软会把开发者引向何方? 自Windows 1.0问世到今年11月份,微软Windows操作系统已经走过了它辉煌的二十一年。沧海桑田一瞬间,让我们再次追随Windows的踪迹,了解微软核心技术发展史,评析她当时所处的位置并展望其今后的发展趋势。 一、 操作系统篇 Win16时代(1985~1995) 1985年11月,微软公司正式发布了第一代窗口式多任务系统──Windows... 阅读全文

posted @ 2011-09-22 14:26 残月下章台 阅读(309) 评论(0) 推荐(0) 编辑

导航