《C++实训教程 应用篇》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:鲁威,夏曹俊主编
  • 出 版 社:南京:东南大学出版社
  • 出版年份:2011
  • ISBN:7564131951
  • 页数:172 页
图书介绍:

第1章 基础部分 1

1.1 学习前准备 1

1.1.1 Windows环境准备 1

1.1.2 工具准备 1

1.1.3 文档准备 1

1.2 第一个Windows程序 2

1.2.1 控制台项目 2

1.2.2 Win32项目 2

1.3 Unicode 6

1.3.1 字符集 6

1.3.2 美国信息交换标准代码(ASCII) 6

1.3.3 双字节字符集(DBCS) 6

1.3.4 为什么使用Unicode 7

1.3.5 如何在C++中使用Unicode 7

1.4 常用数据类型 8

1.5 小结 10

第2章 动态链接库 11

2.1 动态链接库介绍 11

2.2 静态链接库 12

2.3 库的调试与查看 13

2.4 extern"C" 14

2.5 动态链接库示例 15

2.5.1 准备工作(目录结构创建) 15

2.5.2 基本的DLL 15

2.5.3 声明导出函数 19

2.5.4 DLL的调用方式 20

2.5.5 DllMain函数 21

2.5.6 _stdcall约定 23

2.5.7 DLL导出变量 24

2.5.8 DLL导出类 25

2.6 小结 29

第3章 多线程编程 30

3.1 进程 30

3.1.1 进程的概念 30

3.1.2 进程与线程 30

3.1.3 使用CreateProcess创建进程 31

3.1.4 进程的终止 31

3.1.5 从主线程的入口点函数返回 31

3.1.6 使用ExitProcess函数 32

3.1.7 使用TerminateProcess函数 33

3.1.8 进程终止后操作系统的工作 34

3.1.9 子进程 35

3.2 线程的基础知识 36

3.2.1 线程的创建 37

3.2.2 线程的复杂性 38

3.2.3 线程入口函数 38

3.2.4 CreateThread函数 39

3.2.5 终止线程的运行 42

3.3 线程的调度 44

3.3.1 暂停和恢复线程的运行 45

3.3.2 暂停和恢复进程的运行 45

3.3.3 睡眠方式 47

3.3.4 转换到另一个线程 47

3.4 线程的同步 48

3.4.1 原子访问:互锁的函数家族 48

3.4.2 高速缓存区 52

3.4.3 高级线程同步 53

3.4.4 关键代码段 55

3.5 线程与内核对象的同步 64

3.5.1 等待函数 66

3.5.2 事件内核对象 68

3.5.3 信号量内核对象 77

3.5.4 互斥对象内核对象 79

3.6 小结 82

第4章 内存管理 83

4.1 Windows内存结构简介 83

4.2 虚拟内存 84

4.2.1 操作系统的基本信息 84

4.2.2 监视虚拟内存的状态 85

4.3 程序中使用虚拟内存 86

4.3.1 在地址空间中申请内存区域 86

4.3.2 在保留区域中的提交存储器 87

4.3.3 同时进行区域的保留和内存的提交 88

4.3.4 何时提交物理存储器 89

4.3.5 回收虚拟内存和释放地址空间区域 90

4.3.6 何时回收物理存储器 91

4.4 内存映射文件 91

4.4.1 步骤1:创建或打开文件内核对象 92

4.4.2 步骤2:创建一个文件映射内核对象 93

4.4.3 步骤3:将文件数据映射到进程的地址空间 96

4.4.4 步骤4:从进程的地址空间中撤销文件数据的映像 97

4.4.5 步骤5和步骤6:关闭文件映射对象和文件对象 99

4.5 小结 99

第5章 界面编程 100

5.1 Windows界面编程基础 100

5.1.1 创建第一个应用程序的窗体 100

5.1.2 Windows编程的特点 103

5.2 Windows简单编程 104

5.3 MFC界面编程 108

5.3.1 MFC简介 108

5.3.2 设计一个MFC程序 108

5.4 控件介绍 111

5.4.1 Windows标准控件 111

5.4.2 控件的创建方法 111

5.4.3 控件的消息以及消息映射 112

5.4.4 控件的数据交换和数据校验 113

5.5 静态按钮和控件 114

5.6 编辑框和旋转按钮控件 114

5.6.1 编辑框的基本操作 115

5.6.2 旋转按钮控件 115

5.7 列表框 115

5.8 组合框 116

5.9 进度条、滚动条 116

5.9.1 进度条 116

5.9.2 滚动条 116

5.10 小结 116

第6章 网络编程 117

6.1 网络协议基础 117

6.1.1 TCP/IP协议概述 117

6.1.2 IP协议 118

6.1.3 TCP协议 119

6.1.4 UDP协议 120

6.2 Winsock基础 121

6.2.1 Winsock的启动和终止 121

6.2.2 创建套接字 123

6.2.3 指定本机地址——bind() 123

6.2.4 建立套接字连接——connect()和WSAConnect() 124

6.2.5 监听连接——listen() 125

6.2.6 接受连接请求——accept()和WSAAccept() 125

6.2.7 数据发送——send()和sendto() 126

6.2.8 数据接收——recv()和recvfrom() 126

6.2.9 I/O多路复用——Select() 127

6.2.10 释放连接——closesocket()和shutdown() 127

6.2.11 getpeername() 128

6.2.12 getsocknarne() 128

6.2.13 gethostbyaddr() 128

6.2.14 Gethostbyname() 129

6.2.15 文件下载函数 129

6.2.16 在程序中显示SOCKET错误信息 130

6.2.17 初始化Socket IP地址的一个例子 130

6.2.18 通讯程序中应该注意的长度问题 131

6.3 小结 131

第7章 Services程序 132

7.1 服务介绍 132

7.2 CreateService函数 132

7.3 安装服务 133

7.4 卸载服务 133

7.5 启动服务 133

7.6 小结 134

第8章 COM技术 135

8.1 COM基本概念 135

8.2 基本元素的定义 136

8.3 使用和处理COM对象 136

8.4 COM的生命周期与引用计数 139

8.5 综合示例 141

8.6 COM技术的优劣 143

8.7 小结 144

第9章 项目实例Web服务端 145

9.1 HTTP协议详解 145

9.1.1 HTTP协议URL 145

9.1.2 HTTP协议请求 146

9.1.3 HTTP协议响应 147

9.1.4 HTTP协议消息报头 147

9.1.5 查看http协议的通讯过程 150

9.2 源代码 152

9.2 小结 154

第10章 项目实例FTP客户端 155

10.1 FTP协议详解 155

10.1.1 数据表示与保存 155

10.1.2 FTP命令 156

10.1.3 典型FTP过程 162

10.2 源代码 163

10.2.1 FtpClient.h 163

10.2.2 FtpClient.cpp 164

10.3 小结 171

参考文献 172