图书介绍

把脉VC++PDF|Epub|txt|kindle电子书版本网盘下载

把脉VC++
  • 白乔,左飞编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121086175
  • 出版时间:2009
  • 标注页数:663页
  • 文件大小:170MB
  • 文件页数:677页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

把脉VC++PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 Visual C++速览第1章 软件项目中的开发技术3

1.1 关于软件项目的话题3

1.2 软件项目的开发过程3

1.2.1 软件的开发过程3

1.2.2 排错(debug)6

1.2.3 原型(prototype)6

1.2.4 重构(refactor)7

1.3 软件架构及软件分层8

1.3.1 软件架构的原则8

1.3.2 C/S与B/S模式9

1.3.3 MVC模式11

1.3.4 文档/视图结构12

1.3.5 流行的三层结构12

1.4 在Visual C++项目中的四大主脉技术13

1.4.1 对象的建模与表达14

1.4.2 对象的持久化14

1.4.3 对象的界面展现15

1.4.4 对象的传输与调用16

1.4.5 从QQ和MSN说起17

1.4.6 四大技术与三层结构23

1.5 回到客栈管理系统24

1.5.1 对象的建模与表达24

1.5.2 对象的持久化26

1.5.3 对象的界面展现28

1.5.4 对象的传输与调用29

1.6 本章小结33

第2章 关于Visual C++的话题35

2.1 Visual C++与C++35

2.1.1 Visual C++不是唯一的C++编译器35

2.1.2 Visual C++不是唯一的C++IDE37

2.1.3 Visual C++及MFC/ATL的版本39

2.1.4 备受争议的Visual C++40

2.1.5 Visual C++与boost、QT42

2.2 熟悉Visual C++ IDE43

2.2.1 文件、项目与解决方案44

2.2.2 Visual C++代码编辑器46

2.2.3 Visual C++资源编辑器47

2.2.4 Visual C++应用向导49

2.2.5 Visual C++调试器50

2.3 脱离Visual C++编写程序54

2.3.1 Dev-C++54

2.3.2 控制台程序的编写55

2.3.3 Windows程序的编写56

2.4 使用Visual C++编写程序61

2.4.1 Win32控制台程序的编写61

2.4.2 让控制台程序支持MFC/ATL62

2.4.3 Win32窗口程序的编写65

2.4.4 MFC/ATL应用程序的编写71

2.4.5 CLR程序的编写78

2.5 茴字的N种写法79

2.5.1 使用Windows API80

2.5.2 使用C++标准库(stdcpp)83

2.5.3 使用CRT(C运行时期库)84

2.5.4 使用CRT库的宽字符版本87

2.5.5 使用CRT库的安全版本88

2.5.6 使用MFC/ATL89

2.5.7 使用C++/CLI91

2.5.8 该采用哪一种写法92

2.6 Visual C++伴侣93

2.6.1 源代码93

2.6.2 MSDN与MSDN库95

2.6.3 Visual Studio Tools97

2.6.4 Visual Assist X98

2.6.5 Visual C++资源网站99

2.7 本章小结101

第2篇 Visual C++中对象的建模与表达第3章 常见对象的表达105

3.1 C++基本类型105

3.1.1 原始类型105

3.1.2 复合类型106

3.1.3 自定义类型108

3.1.4 _intN110

3.1.5 <climits>110

3.2 字符与字符串111

3.2.1 <cctype>112

3.2.2 C-style字符串114

3.2.3 Windows字符类型115

3.2.4 <cstring>115

3.2.5 std::string117

3.2.6 ATL::CString120

3.3 日期与时间122

3.3.1 <ctime>123

3.3.2 ATL::CTime与ATL::CTimeSpan124

3.3.3 ATL::COleDateTime与ATL::COleDateTimeSpan127

3.3.4 时间的格式化127

3.4 位置与尺寸129

3.4.1 POINT、SIZE、RECT129

3.4.2 ATL::CPoint、ATL::CSize、ATL::CRect130

3.5 智能指针(smart pointer)131

3.5.1 std::auto ptr131

3.5.2 ATL::CComPtr与ATL::CComQIPtr133

3.6 Windows数据类型134

3.6.1 基本数据类型134

3.6.2 Windows句柄135

3.7 MFC对象模型138

3.7.1 MFC::CObject139

3.7.2 CObject与RTTI142

3.7.3 CRuntimeClass145

3.7.4 百般非议MFC148

3.8 MFC与ATL148

3.9 命名规则与名字危机149

3.10 本章小结151

第4章 对象的赋值与转换153

4.1 对象的初始化与赋值153

4.1.1 struct与class153

4.1.2 对象的初始化154

4.1.3 聚合(aggregate)154

4.1.4 对象的赋值155

4.1.5 sizeof及字节对齐155

4.1.6 内存块操作函数memxxx157

4.1.7 POD对象158

4.2 对象的类型转换(cast)160

4.2.1 隐式转换160

4.2.2 显式转换161

4.2.3 向上转换与向下转换163

4.2.4 变体VARIANT163

4.2.5 _variant_t、CComVariant与COleVariant、CDBVariant166

4.3 对象的数值转换(conversion)168

4.3.1 xtoy168

4.3.2 sprintf、sscanf168

4.3.3 std::stringstream170

4.4 数学运算171

4.4.1 <cmath>171

4.4.2 随机数173

4.4.3 复数std::complex173

4.5 字符与编码174

4.5.1 字节与字符175

4.5.2 ANSI、MBCS与UNICODE175

4.5.3 TCHAR、_T与_TEXT177

4.5.4 strcpy、wcscpy与_tcscpy178

4.5.5 MessageBoxA、MessageBoxW与MessageBox179

4.5.6 ATL::CStringT与std::basic string179

4.5.7 BSTR、_bstr_t与ATL::CComBSTR180

4.5.8 字符串的长度181

4.5.9 字符的编码转换183

4.6 使用第三方库187

4.6.1 万能类型boost::any187

4.6.2 万能转换器boost::lexical_cast189

4.6.3 有理数boost::rational191

4.7 本章小结192

第5章 对象容器193

5.1 常见容器193

5.1.1 向量(vector)193

5.1.2 列表(list)194

5.1.3 映射(map)195

5.1.4 集合(set)195

5.1.5 队列(queue)196

5.1.6 栈(stack)196

5.1.7 选择合适的集合197

5.2 C++标准容器198

5.2.1 std::vector199

5.2.2 std::list200

5.2.3 std::deque200

5.2.4 std::map、std::multimap201

5.2.5 std::set、std::multiset202

5.2.6 std::bitset203

5.2.7 std::queue、std::priority_queue204

5.2.8 std::stack205

5.3 泛型算法206

5.3.1 指示器206

5.3.2 函数对象207

5.3.3 泛型算法介绍210

5.4 MFC/ATL容器215

5.4.1 MFC::CArray217

5.4.2 MFC::CList218

5.4.3 MFC::CMap218

5.4.4 集合元素的遍历219

5.5 本章小结221

第3篇 Visual C++中对象的持久化第6章 使用文件存取对象225

6.1 文件操作的几种方式225

6.1.1 使用CRT函数std::fxxx()225

6.1.2 使用标准C++库std::fstream227

6.1.3 使用Windows API229

6.1.4 使用MFC::CFile232

6.1.5 文本文件与二进制文件234

6.2 使用文本文件存取对象236

6.2.1 文本内容的存取237

6.2.2 properties文件的读取237

6.2.3 INI文件的读取241

6.2.4 CSV文件的读取243

6.3 使用二进制文件存取对象247

6.3.1 文件指针的定位247

6.3.2 定长数据块的读写248

6.3.3 变长数据块的读写250

6.3.4 使用MFC::CArchive254

6.3.5 Windows资源文件的读取259

6.4 使用XML存取对象262

6.4.1 XML及其语法262

6.4.2 XML的解析方式264

6.4.3 使用MsXML存取XML266

6.4.4 使用ADO.NET存取XML271

6.5 本章小结276

第7章 使用注册表存取对象277

7.1 注册表及其结构277

7.1.1 注册表的结构277

7.1.2 常见的注册表根键278

7.2 使用注册表API279

7.2.1 关于注册表操作的API279

7.2.2 使用Windows API写注册表280

7.2.3 使用Windows API读注册表282

7.3 使用CRegKey存取注册表286

7.3.1 ATL::CRegKey286

7.3.2 使用CRegKey写注册表287

7.3.3 使用CRegKey读注册表289

7.4 本章小结292

第8章 使用数据库存取对象293

8.1 数据库概述293

8.1.1 关系型数据库293

8.1.2 SQL语句295

8.1.3 常见数据库访问技术296

8.2 使用ODBC操纵数据库297

8.2.1 ODBC297

8.2.2 使用ODBC API298

8.2.3 使用MFC::CDatabase302

8.2.4 封装自己的Recordset304

8.3 使用DAO操纵数据库309

8.4 使用OLE DB操纵数据库313

8.4.1 OLE DB的结构313

8.4.2 OLE DB使用者模板314

8.4.3 使用OLE DB访问数据库315

8.4.4 使用ATL向导创建OLE DB使用者318

8.5 使用ADO操纵数据库321

8.5.1 ADO是对象封装接口322

8.5.2 常见数据源的连接串322

8.5.3 使用ADODB组件323

8.5.4 使用ADODC控件326

8.6 使用ADO.NET操纵数据库330

8.6.1 ADO.NET与ADO330

8.6.2 ADO.NET的联机模式330

8.6.3 ADO.NET的脱机模式332

8.7 本章小结337

第4篇 Visual C++中对象的界面展现第9章 界面的布局341

9.1 常见界面元素341

9.1.1 窗口(Window)341

9.1.2 菜单(Menu)346

9.1.3 控制栏(Control Bar)349

9.1.4 客户区与非客户区358

9.1.5 位图与图标(Bitmap、Icon)361

9.2 界面的静态布局363

9.2.1 使用对话框364

9 2.2 使用控件368

9.2.3 动态创建对话框和控件369

9.2.4 使用代码控制控件371

9.2.5 映射控件变量373

9.2.6 使用容器放置控件379

9.2.7 通用对话框383

9.2.8 使用Windows Forms386

9.3 界面的动态布局390

9.3.1 框架窗口390

9.3.2 文档/视图结构394

9.3.3 文档与文档模板396

9.3.4 视图与CView398

9.3.5 框架窗口都忙些什么399

9.3.6 拆分窗口401

9.4 系统托盘405

9.5 本章小结408

第10章 界面的绘制与交互409

10.1 窗口与绘图409

10.1.1 在DOS下画一个圈409

10.1.2 在Windows下画一个圈411

10.1.3 使用GDI绘制的假按钮414

10.1.4 创建真正的按纽415

10.1.5 使用GDI+绘图417

10.2 让界面交互起来420

10.2.1 一个假的控制台消息系统420

10.2.2 真正的Windows消息系统425

10.2.3 鼠标的3次不同点击428

10.3 MFC对消息机制做了什么?430

10.3.1 消息映射(Message Mapping)431

10.3.2 消息映射宏435

10.3.3 消息路由(Message Route)436

10.3.4 消息反射(Message Reflection)440

10.3.5 消息泵(Message Pump)445

10.4 使用第三方库447

10.4.1 DirectX447

10.4.2 OpenGL450

10.4.3 Qt452

10.5 本章小结454

第11章 界面的美化457

11.1 界面美化的基本途径457

11.1.1 设定窗口样式(Window Style)458

11.1.2 调用函数设定控件的扩展样式462

11.1.3 调用函数设定颜色464

11.1.4 调用函数设定背景图465

11.2 重载消息进行界面自绘466

11.2.1 WM_PAINT466

11.2.2 OnDraw()与OnPaint()468

11.2.3 WM_ERASEBKGND468

11.2.4 =WM_CTLCOLOR470

11.2.5 =WM_DRAWITEM472

11.2.6 =WM_MEASUREITEM476

11.2.7 =NM_CUSTOMDRAW479

11.3 使用ActiveX控件增强界面482

11.3.1 ActiveX控件的注册483

11.3.2 在对话框中引入控件484

11.3.3 将控件映射成变量486

11.3.4 常见ActiveX控件推荐488

11.4 使用第三方库491

11.4.1 Xtreme Toolkit与BCGControlBar492

11.4.2 SkinMagic与换肤技术494

11.5 本章小结497

第5篇 Visual C++中对象的传输与调用第12章 进程间对象的传输与调用501

12.1 进程的操作501

12.1.1 进程及其常见操作501

12.1.2 关于进程操作的CRT函数502

12.1.3 关于进程操作的Windows API503

12.1.4 Windows进程的创建504

12.1.5 Windows进程的终止508

12.2 进程间的通信510

12.2.1 使用Windows消息传输对象510

12.2.2 使用文件映射共享数据512

12.2.3 使用剪贴板传输对象518

12.2.4 使用匿名管道传输对象521

12.2.5 使用命名管道传输对象526

12.2.6 使用邮槽传输对象530

12.3 本章小结533

第13章 线程间对象的传输与调用535

13.1 线程的操作535

13.1.1 关于线程操作的CRT函数535

13.1.2 关于线程操作的Windows API536

13.2 MFC对线程操作的封装536

13.2.1 工作者线程537

13.2.2 带界面的工作者线程539

13.2.3 界面线程541

13.3 线程通信543

13.3.1 利用全局对象进行通信543

13.3.2 利用入口参数进行通信545

13.3.3 利用Windows消息进行通信547

13.4 线程同步549

13.4.1 编写安全的售票程序550

13.4.2 同步对象CSyncObject553

13.4.3 利用临界区(Critical Section)实现同步554

13.4.4 利用互斥体(Mutex)实现同步556

13.4.5 利用信号量(Semaphore)实现同步558

13.4.6 利用事件(Event)实现同步559

13.4.7 CMultiLock和CSingleLock563

13.5 本章小结566

第14章 模块间对象的传输与调用569

14.1 静态库与动态链接库569

14.1.1 将mcd包装成mcd.lib569

14.1.2 将mcd包装成mcd.dll571

14.1.3 mcd.dll的调用574

14.1.4 显式调用与隐式调用576

14.1.5 将类封装成DLL578

14.2 ActiveX控件581

14.2.1 将mcd包装成mcd.ocx581

14.2.2 为mcd.ocx添加SetNumbers方法586

14.2.3 为mcd.ocx添加Direction属性589

14.2.4 在HTML中测试McdOcx控件593

14.3 COM596

14.3.1 一个不是COM的C++接口596

14.3.2 一个貌似COM的DLL601

14.3.3 真假COM609

14.3.4 使用ATL设计COM组件611

14.3.5 在JavaScript中测试COM组件615

14.3.6 使用COMAPI调用COM组件616

14.3.7 使用#import方式调用COM组件619

14.4 本章小结621

第15章 网络间对象的传输与调用623

15.1 使用Socket完成网络通信623

15.1.1 如何向网络上发送一个比特?623

15.1.2 TCP/IP协议与TCP、UDP624

15.1.3 Winsock与Winsock API625

15.1.4 用Socket实现C/S模式626

15.1.5 使用Winsock打造mcd的网络版627

15.2 使用MFC::Csocket完成网络通信632

15.2.1 Winsock与CAsyncSocket、CSocket632

15.2.2 使用CSocket打造mcd的网络版634

15.2.3 使用CSocket打造mcd的UDP版638

15.2.4 使用CSocket事件640

15.2.5 使用CSocket连接Web站点648

15.3 使用WinInet API完成网络通信653

15.3.1 WinInet API与WinInet类653

15.3.2 使用WinInet API连接mcd的web版654

15.3.3 使用MFC::WinInet类连接客栈的Web版658

15.4 本章小结663

热门推荐