自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (21)
  • 收藏
  • 关注

转载 UNIX环境高级编程中的apue.h错误

最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个文件或目录”。 apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下,gcc在编

2013-12-09 23:07:40 575

Palnitkar_verilog HDL数字设计与综合(第二版)课后习题答案

Palnitkar_verilog HDL数字设计与综合

2022-09-16

Hardware Assisted Virtualization Intel Virtualization Technology

intel 虚拟化文档 1

2014-08-13

imp2.tar.gz

linux内核态与用户态通信方式

2014-01-06

imp1.tar.gz代码

linux内核态与用户态通信方式 的代码

2014-01-06

算法:C语言实现1-4部分

算法c语言实现,大家都知道,堪比算法导论的书。

2011-12-05

算法:C语言实现

算法的经典巨著~ 堪比算法导论,值得一看的经典之作

2011-12-05

Intel CPU指令速查手册

intel cpu 指令速查手册, 你会用到的~

2011-11-15

File System Forensic Analysis

文件系统讲解,绝对经典书籍 NO。1;想要了解文件系统的就仔细读读吧~收获颇多

2011-11-11

Linux 2.4.0内核源代码

Linux内核源代码情景分析 配到的Linux内核代码

2011-11-06

计算机组成原理 pdf

计算机体系结构、计算机组成原理和微型计算机技术是计算机科学与技术的核心课程。长期以来,大家普遍感觉到这3们课程的教材陈旧,彼此交叉重复过多,不能适应我国培养面向21世纪的人才需要,迫切希望能对他们统一规划,全盘考虑,各有侧重,避免简单的重复。因此,编写的此书

2010-04-28

nasm教程 nasm chinese book

这本书的目的是为了让读者更好地理解计算机在相比于编程语言如Pascal的更底层如何工作。通过更深刻地了解计算机如何工作,读者通常可以更有能力用高级语言如C和C++来开发软件。学习用汇编语言来编程是达到这个目的的一个极好的方法。其它的PC汇编程序的书仍然在讲授着如何在1981年使用在初始的PC机上的8086处理器上进行编程!那 时的8086处理器只支持实模式。在这种模式下,任何程序都可以寻址任意内存或访问计算机里的任意设备。这种模式不适合于安全,多任务操作系统。这本书改为叙述在80386和后来的处理器如何在保护模式(也就是Windows和Linux运行的模式)下进行编程。这种模式支持现在操作系统所期望的特征,比如:虚拟内存和内存保护。使用保护模式有以下几个原因: 1. 在保护模式下编程比在其它书使用的8086实模式下要容易。 2. 所有的现代的PC操作系统都运行在保护模式下。 3. 可以获得运行在此模式下的免费软件。 关于保护模式下的PC汇编编程的书籍的缺乏是作者书写这本书的主要原因。 就像上面所提到的,这本书使用了免费/开源的软件:也就是,NASM汇编器和DJGPP C/C++编译器。它们都可以在因特网上下载到。本书同样讨论如何在Linux操作系统下和在Windows下的Borland和Microsoft的C/C++编译器中如何使用NASM汇编代码。所有这些平台上的例子都可以在我的网页上找到:http://www.drpaulcarter.com/pcasm. 如何你想汇编和运行这本教程上的例子,你必须下载这些样例代码。 注意这本书并不打算涵盖汇编编程的各个方面。作者尽可能地涉及了所有程序员都应该熟悉的最重要的方面。

2010-04-28

算法导论教师手册 算法导论习题答案

算法导论教师手册 算法导论是很经典的算法书,这个不多介绍了 算法导论课后习题答案

2010-03-12

深入分析Linux内核源码 陈莉君著

1.1 GNU与Linux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.3.1 Linux内核的特征 1.3.2 Linux内核版本的变化 1.4 分析Linux内核的意义 1.4.1 开发适合自己的操作系统 1.4.2 开发高水平软件 1.4.3 有助于计算机科学的教学和科研 1.5 Linux内核结构 1.5.1 Linux内核在整个操系统中的位置 1.5.2 Linux内核的作用 1.5.3 Linux内核的抽象结构 1.6 Linux内核源代码 1.6.1 多版本的内核源代码 1.6.2 Linux内核源代码的结构 1.6.3 从何处开始阅读源代码 1.7 Linux内核源代码分析工具 1.7.1 Linux超文本交叉代码检索工具 1.7.2 Windows平台下的源代码阅读工具Source Insight 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.1.1通用寄存器 2.1.2段寄存器 2.1.3状态和控制寄存器 2.1.4 系统地址寄存器 2.1.5 调试寄存器和测试寄存器 2.2 内存地址 2.3 段机制和描述符 2.3.1 段机制 2.3.2 描述符的概念 2.3.3系统段描述符 2.3.4 描述符表 2.3.5 选择符与描述符表寄存器 2.3.6 描述符投影寄存器 2.3.7 Linux中的段 2.4 分页机制 2.4.1 分页机构 2.4.2页面高速缓存 2.5 Linux中的分页机制 2.5.1 与页相关的数据结构及宏的定义 2.5.2 对页目录及页表的处理 2.6 Linux中的汇编语言 2.6.1 AT&T与Intel汇编语言的比较 2.6.2 AT&T汇编语言的相关知识 2.6.3 Gcc嵌入式汇编 2.6.4 Intel386汇编指令摘要 第三章中断机制 3.1 中断基本知识 3.1.1 中断向量 3.1.2 外设可屏蔽中断 3.1.3异常及非屏蔽中断 3.1.4中断描述符表 3.1.5 相关汇编指令 3.2中断描述符表的初始化 3.2. 1 外部中断向量的设置 3.2.2中断描述符表IDT的预初始化 3.2.3 中断向量表的最终初始化 3.3异常处理 3.3.1 在内核栈中保存寄存器的值 3.3.2 中断请求队列的初始化 3.3.3中断请求队列的数据结构 3.4 中断处理 3.4.1中断和异常处理的硬件处理 3.4.2 Linux对异常和中断的处理 3.4.3 与堆栈有关的常量、数据结构及宏 3.4.4 中断处理程序的执行 3.4.5 从中断返回 3.5中断的后半部分处理机制 3.5.1 为什么把中断分为两部分来处理 3.5.2 实现机制 3.5.3数据结构的定义 3.5.4 软中断、bh及tasklet的初始化 3.5.5后半部分的执行 3.5.6 把bh移植到tasklet 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程概述 4.3 task_struct结构描述 4.4 task_struct结构在内存中的存放 4.4.1 进程内核栈 4.4.2 当前进程(current宏) 4.5 进程组织的方式 4.5.1哈希表 4.5.2双向循环链表 4.5.3 运行队列 4.5.4 等待队列 4.6 内核线程 4.7 进程的权能 4.8 内核同步 4.8.1信号量 4.8.2原子操作 4.8.3 自旋锁、读写自旋锁和大读者自旋锁 4.9 本章小节 第五章进程调度 5.1 Linux时间系统 5.1.1 时钟硬件 5.1.2 时钟运作机制 5.1.3 Linux时间基准 5.1.4 Linux的时间系统 5.2 时钟中断 5.2.1 时钟中断的产生 5.2.2.Linux实现时钟中断的全过程 5.3 Linux的调度程序-Schedule( ) 5.3.1 基本原理 5.3.2 Linux进程调度时机 5.3.3 进程调度的依据 5.3.4 进程可运行程度的衡量 5.3.5 进程调度的实现 5.4 进程切换 5.4.1 硬件支持 5.4.2 进程切换 第六章 Linux内存管理 6.1 Linux的内存管理概述 6.1.1 Linux虚拟内存的实现结构 6.1.2 内核空间和用户空间 6.1.3 虚拟内存实现机制间的关系 6.2 Linux内存管理的初始化 6.2.1 启用分页机制 6.2.2 物理内存的探测 6.2.3 物理内存的描述 6.2.4 页面管理机制的初步建立 6.2.5页表的建立 6.2.6内存管理区 6.3 内存的分配和回收 6.3.1 伙伴算法 6.3.2 物理页面的分配和释放 6.3.3 Slab分配机制 6.4 地址映射机制 6.4.1 描述虚拟空间的数据结构 6.4.2 进程的虚拟空间 6.4.3 内存映射 6.5 请页机制 6.5.1 页故障的产生 6.5.2 页错误的定位 6.5.3 进程地址空间中的缺页异常处理 6.5.4 请求调页 6.5.5 写时复制 6.6 交换机制 6.6.1 交换的基本原理 6.6.2 页面交换守护进程kswapd 6.6.3 交换空间的数据结构 6.6.4 交换空间的应用 6.7 缓存和刷新机制 6.7.1 Linux使用的缓存 6.7.2 缓冲区高速缓存 6.7.3 翻译后援存储器(TLB) 6.7.4 刷新机制 6.8 进程的创建和执行 6.8.1 进程的创建 6.8.2 程序执行 6.8.3 执行函数 第七章 进程间通信 7.1 管道 7.1.1 Linux管道的实现机制 7.1.2 管道的应用 7.1.3 命名管道(FIFO) 7.2 信号(signal) 7.2.1 信号种类 7.2.2 信号掩码 7.2.3 系统调用 7.2.4 典型系统调用的实现 7.2.5 进程与信号的关系 7.2.6 信号举例 7.3 System V 的IPC机制 7.3.1 信号量 7.3.2 消息队列 7.3.3 共享内存 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.2.1 超级块 8.2.2 VFS的索引节点 8.2.3 目录项对象 8.2.4 与进程相关的文件结构 8.2.5 主要数据结构间的关系 8.2.6 有关操作的数据结构 8.3 高速缓存 8.3.1 块高速缓存 8.3.2 索引节点高速缓存 8.3.3 目录高速缓存 8.4 文件系统的注册、安装与拆卸 8.4.1 文件系统的注册 8.4.2 文件系统的安装 8.4.3 文件系统的卸载 8.5 限额机制 8.6 具体文件系统举例 8.6.1 管道文件系统pipefs 8.6.2 磁盘文件系统BFS 8.7 文件系统的系统调用 8.7.1 open 系统调用 8.7.2 read 系统调用 8.7.3 fcntl 系统调用 8 .8 Linux2.4文件系统的移植问题 第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.2.1 Ext2的磁盘布局 9.2.2 Ext2的超级块 9.2.3 Ext2的索引节点 9.2.4 组描述符 9.2.5 位图 9.2.6 索引节点表及实例分析 9.2.7 Ext2的目录项及文件的定位 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 9.5.1 数据块寻址 9.5.2 文件的洞 9.5.3 分配一个数据块 第十章 模块机制 10.1 概述 10.1.1 什么是模块 10.1.2 为什么要使用模块? 10.2 实现机制 10.2.1 数据结构 10.2.2 实现机制的分析 10.3 模块的装入和卸载 10.3.1 实现机制 10.3.2 如何插入和卸载模块 10.4 内核版本 10.4.1 内核版本与模块版本的兼容性 10.4.2 从版本2.0到2.2内核API的变化 10.4.3 把内核2.2移植到内核2.4 10.5 编写内核模块 10.5.1 简单内核模块的编写 10.5.2 内核模块的Makefiles文件 10.5.3 内核模块的多个文件 第十一章 设备驱动程序 11.1 概述 11.1.1 I/O软件 11.1.2 设备驱动程序 11.2 设备驱动基础 11.2.1 I/O端口 11.2.2 I/O接口及设备控制器 11.2.3 设备文件 11.2.4 VFS对设备文件的处理 11.2.5 中断处理 11.2.6 驱动DMA工作 11.2.7 I/O 空间的映射 11.2.8 设备驱动程序框架 11.3 块设备驱动程序 11.3.1 块设备驱动程序的注册 11.3.2 块设备基于缓冲区的数据交换 11.3.3 块设备驱动程序的几个函数 11.3.4 RAM 盘驱动程序的实现 11.3.5 硬盘驱动程序的实现 11.4 字符设备驱动程序 11.4.1 简单字符设备驱动程序 11.4.2 字符设备驱动程序的注册 11.4.3 一个字符设备驱动程序的实例 11.4.4 驱动程序的编译与装载 第十二章 网络 12.1 概述 12.2 网络协议 12.2.1 网络参考模型 12.2.2 TCP/IP 协议工作原理及数据流 12.2.3 Internet 协议 12.2.4 TCP协议 12.3 套接字(socket) 12.3.1 套接字在网络中的地位和作用 12.3.2 套接字接口的种类 12.3.3 套接字的工作原理 12.3.4 socket 的通信过程 12.3.5 socket为用户提供的系统调用 12.4 套接字缓冲区(sk_buff) 12.4.1 套接字缓冲区的特点 12.4.2 套接字缓冲区操作基本原理 12.4.3 sk_buff数据结构的核心内容 12.4.4 套接字缓冲区提供的函数 12.4.5 套接字缓冲区的上层支持例程 12.5 网络设备接口 12.5.1 基本结构 12.5.2 命名规则 12.5.3 设备注册 12.5.4 网络设备数据结构 12.5.5 支持函数 第十三章 启动系统 13.1 初始化流程 13.1.1 系统加电或复位 13.1.2 BIOS启动 13.1.3 Boot Loader 13.1.4 操作系统的初始化 13.2 初始化的任务 13.2.1 处理器对初始化的影响 13.2.2 其他硬件设备对处理器的影响 13.3 Linux 的Boot Loarder 13.3.1 软盘的结构 13.3.2 硬盘的结构 13.3.3 Boot Loader 13.3.4 LILO 13.3.5 LILO的运行分析 13.4 进入操作系统 13.4.1 Setup.S 13.4.2 Head.S 13.5 main.c中的初始化 13.6 建立init进程 13.6.1 init进程的建立 13.6.2 启动所需的Shell脚本文件 附录: 1 Linux 2.4内核API 2.1 驱动程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备 2 参考文献

2009-09-05

GNU make中文手册 ver3.8

开始在Linux环境下开发时, 对于make这个东西没有多少了解。工作中网络、 Linux 社区论坛给了我很大的帮助。这些对我就像启蒙的教育一样重要、一样有影响力。特别 感谢那些前辈们的经验总结。特别感谢 make 程序的设计开发者们。也特别感谢“info make”原文的作者。 介绍一下 make程序的设计开发者 : Richard Stallman GNU project 的创始人。于 1984 年起开发自由开放的操作系统 GNU(Not Unix 的首字母缩写),以此向计算机用户提供自由开放的选择。GNU 是自由软件,任何用 户都可以免费拷贝和重新分发以及修改。 今天,各种 GNU/Linux版本,都基于由 Linus Torvalds 领导开发的Linux 内核。 Richard Stallman 是 GNU C 编译器的首要作者。除此之外 Stallman 还编写过GDB,GNU Emacs 等 GNU应用程序。 1990年,Stallman被授予麦克阿瑟基金奖;1991年,因为在 70年代开发了第一 个 Emacs 编辑器而获得了由计算机协会颁发的Grace Hopper 奖;1996年获得瑞典皇 家科学院名誉博士头衔。 1998年,他与 Linus Torvalds 一起获得了 EFF授予的先锋奖。 1983年,Stallman 曾写下了如下一段自传: “1953年,我在曼哈顿的一个实验 室工作,然后在1971 年到了 MIT (麻省理工学院)人工智能实验室。我的爱好包括交友、 各国民间舞蹈、 飞行、烹饪、物理、录像、双关语、科幻小说、当然还有就是编程。 而 我正是靠最后一样爱好来维生。一年以前我与相伴10年的“老友”--PDP-10分手了。虽然我们仍然“相爱”,但是这个世界却让我们不得不分道扬镳。在这段时间,我仍然 住在麻省的剑桥。在我的记忆里,“Richard Stallman”是我的俗名,人们可以叫我 “RMS”。” 他的事迹和他的软件以及他的思想,虽然以前听说过他,但是对他的思想不是很了 解。最近通过网络和一些资料对他的事迹有更多地了解。对他的思想和个人情操致上我 的敬意。 他的主页:http://www.stallman.org/ 。 徐海兵 2006 – 05 -29

2009-09-05

GDB完全中文手册 GDB是一个强大的命令行调试工具

GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全 是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个 简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的 图形软件基本上是各自为营,互相不能调用,很不利于各种软件的相互集成。在这里并不是要和Windows做个什么比较, 所谓“寸有所长,尺有所短”,图形化工具还是有不如命令行的地方。(看到这句话时,希望各位千万再也不要认为我 就是“鄙视图形界面”,和我抬杠了 ) 我是根据版本为5.1.1的GDB所写的这篇文章,所以可能有些功能已被修改,或是又有更为强劲的功能。而且,我写得非 常仓促,写得比较简略,并且,其中我已经看到有许多错别字了(我用五笔,所以错字让你看不懂),所以,我在这里 对我文中的差错表示万分的歉意。 文中所罗列的GDB的功能时,我只是罗列了一些带用的GDB的命令和使用方法,其实,我这里只讲述的功能大约只占GDB所 有功能的60%吧,详细的文档,还是请查看GDB的帮助和使用手册吧,或许,过段时间

2009-09-05

GCC中文手册 中国linux论坛man手册翻译计划

GCC中文手册 中国linux论坛man手册翻译计划

2009-09-05

使用开源软件自己动手写操作系统

本书起源于中国电子工业出版社出版的一本书:《自己动手写操作系统》(于渊著)。我对《自己 动手写操作系统》这本书中使用商业软件做为演示平台比较惊讶,因为不是每个人都买得起正版软件 的,尤其是穷学生。我想《自》所面向的主要受众也应该是学生,那么一本介绍只有商业软件才能实现 的编程技巧的书将会逼着穷学生去使用盗版,这是非常罪恶的行为/。 由于本人是一个 Linux 用户,一个开源软件的拥护者,所以就试着使用开源软件实现这本书中的所 有 demo ,并在自己的博客上进行推广。后来我觉得,为什么我不能自己写本书呢?这样我就能插入漂 亮的插图,写更详尽的介绍而不怕篇幅过长,更容易让读者接受也更容易传播,所以我就开始写这本《 使用开源软件-自己动手写操作系统》。 定下写一本书的目标毕竟不像写一篇博客,我将尽量详尽的介绍我使用的方法和过程,以图能让不 同技术背景的读者都能通畅地完成阅读。但是自己写并且排版一本书不是很轻松的事情,需要耗费大量 时间,所以我只能抽空一点一点的将这本书堆砌起来,这也是您之所以在本书封面看到本书版本号的原 因,。 本书的最终目标是成为一本大学“计算机操作系统”课程的参考工具书,为学生提供一个 step by step 的引导去实现一个操作系统。这不是一个容易实现的目标,因为我本人现在并不自信有那个实力了 解操作系统的方方面面。但是我想,立志百里行九十总好过于踯躅不前。 《自己动手写操作系统》一书开了个好头,所以在前面部分,我将主要讨论使用开源软件实现 《自》的 demo 。如果您有《自》这本书,参考阅读效果会更好,不过我将尽我所能在本书中给出清楚 的讲解,尽量使您免于去参考《自》一书。出于开放性和易编辑性考虑,本书采用 LTEX 排版,在成书前期由于专注于版面,代码比较杂乱, 可读性不强,暂不开放本书 TEX 源代码下载。但您可以通过 SVN check out 所有本书相关的源代码和 图片,具体方法请参见电子书主页。 如果您在阅读过程中有什么问题,发现书中的错误,或者好的建议,欢迎您使用我留下的联系方式 与我联系,本人将非常感谢。 杨文博 个人主页:http://solrex.cn 个人博客:http://blog.solrex.cn 2008 年1月 9日

2009-09-05

Inside_c++_object_model_cn.pdf

本书重点:探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。 C++成山似海的书籍堆中,这一本不是婴幼儿奶粉,也不是较大婴儿奶粉,它是成人专用的低脂高钙特殊奶粉。 对于C++底层机制感兴趣的读者,这本书会给你“漫卷诗书喜欲狂”的感觉。 了解C++ Object Model,是学习Component Object Model的最短路线。 如果你是一位C++程序员,渴望对于底层知识获得一个完整的了解,那么Inside The C++ Object Model正适合你。 关于作者:Stanley Lippman目前是华特迪斯尼主题动画公司(Walt Disney Feature Animation)的主要软件工程师。他曾经在AT&T贝尔实验室领导cfront 3.0和2.1版的编译器开发小组。他也是贝尔实验室中由Bjame Stroustrup所领导的Foundation专案组中的一员,负责对象模型并研究C++程序开发环境。Stan著有极为成功的C++ Primer一书,也发表过许多C++方面的论文。Stan最近刚从C++ Report的编辑位置上“退隐”,他曾在那个位置上做了4年。他的C++论述遍及全球。 关于译者:侯捷,海峡两岸著名的电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛,深受读者喜爱和尊敬。 编辑推荐 Inside The C++ Object Model专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。本书涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。 目录 本立道生(侯捷 译序) 目录 前言(Stanley B.Lippman) 第0章 导读(译者的话) 第1章 关于对象(Object Lessons) 加上封装后的布局成本(Layout Costs for Adding Encapsulation) 1.1 C++模式模式(The C++ Object Model) 简单对象模型(A Simple Object Model) 表格驱动对象模型(A Table-driven Object Model) C++对象模型(The C++ Object Model) 对象模型如何影响程序(How the Object Model Effects Programs) 1.2 关键词所带来的差异(A Keyword Distinction) 关键词的困扰 策略性正确的struct(The Politically Correct Struct) 1.3 对象的差异(An Object Distinction) 指针的类型(The Type of a Pointer) 加上多态之后(Adding Polymorphism) 第2章 构造函数语意学(The Semantics of constructors) 2.1 Default Constructor的建构操作 “带有Default Constructor”的Member Class Object “带有Default Constructor”的Base Class “带有一个Virual Function”的Class “带有一个virual Base class”的Class 总结 2.2 Copy Constructor的建构操作 Default Memberwise Initialization Bitwise Copy Semantics(位逐次拷贝) 不要Bitwise Copy Semantics! 重新设定的指针Virtual Table 处理Virtual Base Class Subobject 2.3 程序转换语意学(Program Transformation Semantics) 明确的初始化操作(Explicit Initialization) 参数的初始化(Argument Initialization) 返回值的初始化(Return Value Initialization) 在使用者层面做优化(Optimization at the user Level) 在编译器层面做优化(Optimization at the Compiler Level) Copy Constructor:要还是不要? 摘要 2.4 成员们的初始化队伍(Member Initialization List) 第3章 Data语意学(The Semantics of Data) 3.1 Data Member的绑定(The Binding of a Data Member) 3.2 Data Member的布局(Data Member Layout) 3.3 Data Member的存取 Static Data Members Nonstatic Data Member 3.4 “继承”与Data Member 只要继承不要多态(Inheritance without Polymorphism) 加上多态(Adding Polymorphism) 多重继承(Multiple Inheritance) 虚拟继承(Virtual Inheritance) 3.5 对象成员的效率(Object Member Efficiency) 3.6 指向Data Members的指针(Pointer to Data Members) “指向Members的指针”的效率问题 第4章 Function语意学(The Semantics of Function) 4.1 Member的各种调用方式 Nonstatic Member Functions(非静态成员函数) Virtual Member Functions(虚拟成员函数) Static Member Functions(静态成员函数) 4.2 Virtual Member Functions(虚拟成员函数) 多重继承下的Virtual Functions 虚拟继承下的Virtual Functions 4.3 函数的效能 4.4 指向Member Functions的指针(Pointer-to-Member Functions) 支持“指向Virtual Member Functions”之指针 在多重继承之下,指向Member Functions的指针 “指向Member Functions之指针”的效率 4.5 Inline Functions 形式对数(Formal Arguments) 局部变量(Local Variables) 第5章 构造、解构、拷贝 语意学(Semantics of Construction,Destruction,and Copy) 纯虚拟函数的存在(Presence of a Pure Virtual Function) 虚拟规格的存在(Presence of a Virtual Specification) 虚拟规格中const的存在 重新考虑class的声明 5.1 无继承情况下的对象构造 抽象数据类型(Abstract Data Type) 为继承做准备 5.2 继承体系下的对象构造 虚拟继承(Virtual Inheritance) 初始化语意学(The Semantics of the vptr Initialization) 5.3 对象复制语意学(Object Copy Semantics) 5.4 对象的功能(Object Efficiency) 5.5 解构语意学(Semantics of Destruction) 第6章 执行期语意学(Runting Semantics) 6.1 对象的构造和解构(Object Construction and Destruction) 全局对象(Global Objects) 局部静态对象(Local Static Objects) 对象数组(Array of Objects) Default Constructors和数组 6.2 new和delete运算符 针对数组的new语意 Placement Operator new的语意 6.3 临时性对象(Temporary Objects) 临时性对象的迷思(神话、传说) 第7章 站在对象模型的类端(On the Cusp of the Object Model) 7.1 Template Template的“具现”行为(Template Instantiation) Template的错误报告(Error Reporting within a Template) Template中的名称决议方式(Name Resolution within a Template) Member Function的具现行为(Member Function Instantiation) 7.2 异常处理(Exception Handling) Exception Handling快速检阅 对Exception Handling的支持 7.3 执行期类型识别(Runtime Type Identification,RTTI) Type-Safe Downcast(保证安全的向下转型操作) Type-Safe Dynamic Cast(保证安全的动态转型) References并不是Pointers Typeid运算符 7.4 效率有了,弹性呢? 动态共享函数库(Dynamic Shared Libraries) 共享内存(Shared Memory)

2009-07-21

Windows程序设计(C语言)

本书介绍了在Microsoft Windows 98、Microsoft Windows NT 4.0和Windows NT 5.0下程序写作的方法。这些程序用C语言编写并使用原始的Windows Application Programming Interface(API)。如在本章稍后所讨论的,这不是写作Windows程序的唯一方法。然而,无论最终您使用什么方式写作程序,了解Windows API都是非常重要的。

2009-07-15

程序员的SQL经典-第一本专门为程序员编写的数据库图书

第一本专门为程序员编写的数据库图书 《程序员的SQL金典》 1将子查询、表连接、数据库语法差异等用通俗易懂、诙谐 幽默的语言讲解出来 2配合大量真实案例,学了就能用,在短时间内成为数据库 开发高手 3高度提取不同数据库的共同点,仔细分析不同点,并给出 解决方案,同时学会 MSSQLServer、MYSQL、Oracle、DB2 4国内第一本讲解开窗函数实际应用的图书

2009-07-15

空空如也

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

TA关注的人

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