Visual C++ 2012开发权威指南

Visual C++ 2012开发权威指南

尹成, 朱景尧, 孙明龙, 胡耀文, 编著

出版社:人民邮电出版社

年代:2014

定价:69.0

书籍简介:

本书以讲解在Windows8下用Visual c++2012开发程序为线索,用大量的实例为读者介绍了Visual c++2012的功能。本书讲解细致,通俗易懂,力争使读者在了解的基础上掌握它的应用。

作者介绍:

尹成 ,毕业于清华大学,微软全球具价值技术专家,中科院硕士,Windows平台软件构架师,CSDN技术专家,微软C/C++特邀嘉宾,Intel软件技术专家。精通C/C++,对语音技术、信息安全、移动3G开发均有较深入的研究。

书籍目录:

目 录

第1章 Visual Studio 2012的新特性 1

1.1 如何安装Windows 8 1

1.2 如何安装Visual Studio 2012 12

1.3 Metro新特性 15

1.4 Visual Studio 2012新特性 16

1.4.1 Visual Studio 2012(VS2012)的六大技术特点 16

1.4.2 Visual Studio 2012九大新功能 16

第2章 Visual C++2012语言新特性 21

2.1 Visual C++2012的语言新特性(1) 21

2.2 Visual C++2012的语言新特性(2) 24

2.3 Visual C++2012的语言新特性(3) 31

第3章 Visual C++2012的异步编程与网络编程 34

3.1 使用C++的异步编程 34

3.1.1 使用C++为Metro风格应用创建异步操作 41

3.1.2 task Class(Concurrency Runtime) 52

3.1.3 任务并行度(并发进行时) 64

3.2 使用C++的网络编程 68

3.2.1 Windows::Web::Syndication 68

3.2.2 使用XML HTTP请求(IXHR2)连接访问Web服务 70

3.2.3 WebView显示网页 72

3.2.4 连接到对等机、Web和网络服务 73

第4章 基于Visual C++实现并行编程充分利用多核处理能力 75

4.1 PPL简介 75

4.2 任务并行(并发运行时) 77

4.2.1 任务和任务组 77

4.2.2 task_group与structured_task_group的比较 78

4.2.3 示例 79

4.3 并行算法 80

4.3.1 parallel_for算法 81

4.3.2 parallel_for_each算法 82

4.3.3  parallel_invoke算法 83

4.4 并行容器和对象 84

4.4.1 concurrent_vector 84

4.4.2 concurrent_queue类 87

4.4.3 combinable类 88

4.5 PPL中的取消操作 88

4.5.1 并行工作树 89

4.5.2 取消并行任务 90

4.5.3 取消并行算法 94

4.5.4 何时不使用取消 95

4.6 并发运行 96

4.6.1 抢先式和协作式计划 96

4.6.2 比较并发运行时与Windows API 97

4.6.3 比较并发运行时与OpenMP 98

第5章 基于Visual C++充分使用GPU的计算能力 99

5.1 C ++存储系统概述 99

5.1.1 索引类 101

5.1.2 扩展盘区类 102

5.1.3 数组类 102

5.1.4 array_view类 103

5.1.5 阵列和array_view的比较 103

5.1.6 数学库 106

5.1.7 图形库 107

5.2 使用Lambda、函数对象和受限功能 107

5.2.1 Lambda表达式 108

5.2.2 Function对象 109

5.2.3 C++的受限制存储系统函数 110

5.3 Using Tiles如何加快AMP C ++代码中使用拼贴 110

5.3.1 示例的全局、平铺和局部索引 111

5.3.2 平铺同步——tile_static和tile_barrier::wait 114

5.3.3 争用条件 116

5.3.4 内存范围 116

5.4 使用快捷键和accelerator_view对象 117

5.4.1 使用默认加速器 118

5.4.2 选择快捷键 118

5.4.3 更改默认加速器 119

5.4.4 使用多个加速器 120

5.4.5 特殊的加速键 120

5.4.6 互操作性 120

5.5 Graphics (C++AMP) 120

5.5.1 短矢量库 121

5.5.2 纹理类 122

5.5.3 互操作性 122

5.6 Walkthrough: Matrix Multiplication 122

5.6.1 创建项目 123

5.6.2 未使用拼贴情况下的乘法 123

5.6.3 使用拼贴情况下的乘法 125

5.7 调试C++AMP应用程序 128

创建示例项目 129

5.8 C++AMP案例1 135

5.8.1 主函数——入口点 135

5.8.2 CPU卷积——C ++的串行 135

5.8.3 convolution_tile_dim——C++中的AMP平铺内核 135

5.9 C++AMP案例2 136

第6章 基于Visual C++2012开发Blank App 140

6.1 Metro控件大全 140

6.1.1 Border控件 143

6.1.2 Button控件 145

6.1.3 Canvas控件 146

6.1.4 Check Box控件 148

6.1.5 Combo Box控件 149

6.1.6 FlipView控件 151

6.1.7 GridView控件 154

6.1.8 SemanticZoom控件 155

6.1.9 HyperlinkButton控件 162

6.1.10 Image和ImageBrush控件 162

6.1.11 ItemsControl控件 164

6.1.12 ListBox控件 165

6.1.13 ListView控件 165

6.1.14 TextBox控件 169

6.1.15 PasswordBox控件 170

6.1.16 弹出菜单 171

6.1.17 进度控件 171

6.1.18 Slider控件 174

6.1.19 StackPanel控件 175

6.1.20 切换按钮 176

6.1.21 切换开关 176

6.1.22 工具提示 176

6.1.23 VariableSizedWrapGrid 177

6.1.24 Viewbox 177

6.1.25 Web视图 178

6.2 Metro基础开发讲解 178

6.2.1 应用栏 178

6.2.2 上下文菜单 182

6.2.3 布局和视图 183

6.2.4 导航 188

6.2.5 笔和触笔输入 192

6.2.6 资源 192

6.2.7 磁贴 198

6.2.8 消息通知 210

6.2.9 触控输入 215

6.3 Metro Blank App案例 220

6.3.1 案例1 220

6.3.2 案例2 224

6.3.3 案例3 226

第7章 基于Visual C++2012开发Grid App 229

7.1 案例1 利用模板创建自己的应用 230

7.1.1 项目和组 231

7.1.2 将组和项目数据绑定到UI 232

7.2 案例2 在项目模板中实现自己的数据源 233

第8章 基于Visual C++2102开发Split App 237

8.1 简单博客阅读器(1) 237

8.2 简单博客阅读器(2) 258

8.3 总结 286

第9章 基于Visual C++2012开发Metro DLL 287

9.1 Metro dll概述 287

9.2 实例 创建一个metro dll 287

9.3 实例 在项目中引用metro dll 288

第10章 基于Visual C++2012开发Metro Component 289

10.1 Windows运行时组件简介 289

10.2 在C++中创建Windows运行时组件 289

10.2.1 大小写和命名规则 290

10.2.2 实例化对象 290

10.2.3 C++内置类型、库类型和Windows运行时类型 290

10.2.4 DateTime 292

10.2.5 集合和数组 292

10.2.6 属性 293

10.2.7 委托和事件 294

10.2.8 枚举 297

10.2.9 异步方法 297

10.2.10 异常 298

10.2.11 调试提示 298

10.3 在C++中创建一个基本Windows运行时组件并从JavaScript中调用此组件 298

10.3.1 创建C++组件项目 298

10.3.2 向组件中添加可激活的类 299

10.3.3 创建JavaScript项目 303

10.3.4 运行应用程序 306

10.3.5 在对象浏览器中检查组件(可选) 306

10.3.6 调试提示 306

10.4 示例:Bing地图旅途优化器,用JavaScript和C++实现的一种Metro风格应用 307

10.4.1 Bing地图行程优化器简介 308

10.4.2 先决条件 308

10.4.3 必应地图出行优化程序示例的概述 308

10.4.4 在必应地图出行优化程序示例中使用JavaScript的示例 310

10.4.5 在必应地图出行优化程序示例中使用C++的示例 313

10.4.6 必应地图出行优化程序示例中JavaScript与C++之间的互操作 339

10.4.7 迁移必应地图出行优化程序示例中的现有代码 342

第11章 基于Visual C++2012开发Metro Direct2D App 346

11.1 Metro Direct2D技术讲解(1) 346

11.1.1 什么是Direct2D 346

11.1.2 D2D的架构 346

11.1.3 可视效果 347

11.1.4 可交互性 348

11.2 Metro Direct2D技术讲解(1)来看D2D世界中的Hello,World 348

11.2.1 基本概念 349

11.2.2 程序框架 350

11.2.3 代码 351

11.3 Metro Direct2D技术讲解(1)简单几何图形 354

11.3.1 直线 354

11.3.2 矩形 355

11.3.3 圆角矩形 355

11.3.4 椭圆 356

11.3.5 三角形 357

11.3.6 圆 357

11.3.7 线条的宽度 358

11.4 Metro Direct2D技术讲解(1)Path Geometry 358

11.4.1 创建Path geometry 359

11.4.2 获取ID2D1GeometrySink对象 359

11.4.3 使用ID2D1GeometrySink添加图形 359

11.4.4 创建小山 360

11.4.5 创建太阳 361

11.4.6 创建小溪 363

11.4.7 绘制场景 363

11.5 Metro Direct2D技术讲解(1)复合图形 364

11.5.1 创建图形组中的所有图形 364

11.5.2 创建图形组 364

11.5.3 使用图形组进行绘制 365

11.5.4 变换图形 365

11.5.5 变换render target 366

11.5.6 变换图形本身 367

11.6 Metro Direct2D技术讲解(1)单色画刷 367

11.6.1 画刷属性 368

11.6.2 设置属性 369

11.6.3 使用单色画刷 370

第12章 基于Visual C++2012开发Metro Direct3D App 372

12.1 Direct3D 11的新功能 372

12.1.1 计算着色器 372

12.1.2 动态着色链接 372

12.1.3 多线程 373

12.1.4 镶嵌 373

12.2 设备 373

12.2.1 介绍 374

12.2.2 软件层 375

12.2.3 如何创建一个参考设备 376

12.2.4 如何创建一个WARP设备 377

12.2.5 如何创建一个交换链 378

12.2.6 创建一个设备和一个交换链 378

12.2.7 枚举适配器 378

12.2.8 如何获取适配器显示模式 380

12.2.9 如何创建设备和直接上下文 380

12.2.10 下层硬件的Direct3D 11 383

12.3 资源 383

12.3.1 介绍 383

12.3.2 类型 386

12.3.3 资源限制 387

12.3.4 子资源 388

12.3.5 缓冲区 389

12.3.6 纹理 395

12.4 Graphics Pipeline 399

12.5 渲染 400

12.5.1 介绍 400

12.5.2 多线程对象的创建 401

12.5.3 即时和延迟渲染 401

12.5.4 如何检查驱动程序支持 402

12.5.5 线程之间的Direct3D版本的差异 403

12.6 特效 404

12.6.1 特效的状态 405

12.6.2 特效系统接口 408

12.6.3 特殊接口 409

12.6.4 特效中的类和接口 410

12.6.5 渲染特效 412

12.6.6 克隆特效 413

12.6.7 Direct3D的video接口 414

12.7 案例分析 414

第13章 Visual C++2012 Windows 8 Metro经典案例 431

13.1 案例1 metro多点触控程序范例 431

13.1.1 触控输入简介 431

13.1.2 手势 431

13.1.3 使用指针事件 432

13.1.4 使用操作事件 433

13.1.5 UI设计和触控输入 436

13.2 案例2 metro笔迹文档程序范例 436

13.3 案例3 metro云存储程序范例 457

13.3.1 难题和目标 457

13.3.2 简单的架构和实现 457

13.3.3 在ASP.NET MVC中保存和显示图片 463

13.3.4 总结 465

13.4 案例4 Metro手势识别范例 465

13.5 案例5 Metro语音朗读范例 470

13.6 案例6 metro语音识别范例 483

13.7 案例7 metro传感器范例 489

13.7.1 使用加速计响应用户移动(C++) 489

13.7.2 使用陀螺测试仪确定角速度 494

13.7.3 使用指南针确定当前的方位 499

13.7.4 使用测斜仪确定俯仰、滚转和偏航 503

13.7.5 使用方向传感器检索四元数和旋转 508

13.7.6 使用SimpleOrientation传感器确定设备方向 513

13.8 案例8 metro摄像头范例 518

13.8.1 通过摄像头预览视频 519

13.8.2 旋转捕获的视频 519

13.8.3 向捕获的视频中添加视频防抖动效果 520

第14章 将程序发布到Windows 8商店 521

14.1 如何注册Windows 8商店 521

14.2 如何打包应用程序 526

14.3 如何发布程序到Windows 8商店 530

内容摘要:

本书主要讲解如何用Visual C++ 2012在Windows 8环境下开发Metro风格的新的应用程序。本书主要内容包括:Metro新特性、Visual Studio 2012九大新功能,Visual C++ 2012语言新特性,Visual C++ 2012的异步编程与网络编程,实现并行编程充分利用多核处理能力,基于Visual C++充分使用GPU的计算能力,使用Lambda、函数对象和受限功能,基于Visual C++ 2012开发Blank App、Metro控件大全、Metro Blank App案例 ,基于Visual C++ 2012开发Grid App、Split App、Metro DLL、Metro Component、Metro Direct2D App、Metro Direct3D App,以及用Visual C++ 2012在Windows 8下开发Metro经典案例 ,如Metro多点触控范例 、Metro笔迹文档范例、Metro云存储范例、Metro手势识别范例、Metro语音朗读范例、Metro语音识别范例、Metro传感器范例、Metro摄像头范例。
本书适合程序员阅读,也适合作为大中专院校的学习用书,以及各培训学校的教材。

编辑推荐:

微软副总裁谢恩伟写推荐许
本书提供了200多个精品Visual C++2012的范例,深入浅出。
同时奉献了作者多年工作的核心代码与技术。涉及网络安全技术,语音技术,手写技术等等高技术难题。
计划带CD光盘,附带200多个范例的全部源码。
中科院博士、CSDN专家,技术高手的全新力作。

书籍规格:

书籍详细信息
书名Visual C++ 2012开发权威指南站内查询相似图书
9787115362209
如需购买下载《Visual C++ 2012开发权威指南》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)69.0语种简体中文
尺寸24 × 18装帧平装
页数 184 印数 3000

书籍信息归属:

Visual C++ 2012开发权威指南是人民邮电出版社于2014.9出版的中图分类号为 TP312-62 的主题关于 C语言-程序设计-指南 的书籍。