- 博客(1)
- 资源 (7)
- 收藏
- 关注
转载 2011年10个最重要的开源软件
2011年是一个开源项目标志性的一年。正因如此,挑选 10 个最重要的是相当困难的。要判断的重要性,应该是影响深远,并且日益普及的项目,或在新领域中的技术佼佼者。 Hadoop 首先出场的是Hadoop,毫无疑问这个来自 Apache 基金会的分布式计算平台当得起“重要”二字,在过去的一年中这个由 Yahoo 发起的项目正在为包括 Amazon、IBM、Twitter、Facebook 等公司
2012-08-29 20:12:01 846
win32 汇编教程
WIN32 程序运行在保护模式下的,保护模式的历史可以追溯到 80286。而今 80286 已成为了历史。所以我们将只把精力集中于 80386 及后续的X86 系列 CPU。Windows 把每一个 Win32 应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的 4GB 地址空间,当然这倒不是说它们都拥有 4GB 的物理地址空间,而只是说能够在 4GB 的范围内寻址。操作系统将会在应用程序运行时完成 4GB 的虚拟地址和物理内存地址间的转换。这就要求编写应用程序时必须格守 Windows 的规范,否则极易引起内存的保护模式错误。而过去的 Win16 内存模式下,所有的应用程序都运行于同一个 4GB 地址空间,它们可以彼此"看"到别的程序的内容,这极易导致一个应用程序破坏另一个应用程序甚至是操作系统的数据或代码。
和 16 位 Windows 下的把代码分成 DATA,CODE 等段的内存模式不同,WIN32 只有一种内存模式,即 FLAT 模式,意思是"平坦"的内存模式,再没有 64K 的段大小限制,所有的 WIN32 的应用程序运行在一个连续、平坦、巨大的 4GB 的空间中。这同时也意味着您无须和段寄存器打交道,您可以用任意的段寄存器寻址任意的地址空间,这对于程序员来说是非常方便的,这也使得用32位汇编语言和用C语言一样方便。 在Win32下编程,有许多重要的规则需要遵守。有一条很重要的是:Windows 在内部频繁使用 ESI,EDI,EBP,EBX 寄存器,而且并不去检测这些寄存器的值是否被更改,这样当您要使用这些寄存器时必须先保存它们的值,待用完后再恢复它们,一个最显著的应用例子就是 Windows 的 CallBack 函数中。
2010-06-08
effectiveC++.chm
目录回到顶部↑致谢(Acknowledgments. 中文版略)
导读(Introduction) 001
基础议题(Basics) 009
条款1:仔细区别 pointers 和 references 009
Distinguish between pointers and references
条款2:最好使用 C++ 转型操作符 012
Prefer C++-style casts
条款3:绝对不要以polymorphically(多态)方式来处理数组 016
Never treat arrays polymorphically
条款4:非必要不提供 default constructor 019
Avoid gratuitous default constructors
操作符(Operators) 024
条款5:对定制的型别转换函数保持警觉 024
Be wary of user-defined conversion functions
条款6:区别 increment/decrement 操作符的
前置(prefix)和后置(postfix)型式 031
Distinguish between prefix and postfix forms of increment
and decrement operators
条款7:千万不要重载 &&,
2010-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人