visual studio2012中中交农函数头为什么和visual C++不一样

&&& &&& &&&
Visual C++ 2012入门经典(第6版)
Author:Translator:Publisher:
EUR GBP AUD HKD
Quantity:
Editorial Reviews
  ·世界著名的计算机畅销书作者、IBM多语言编程资深顾问、超级畅销书《C语言入门经典(第4版)》作者、编程导师霍尔顿(Ivor Horton)最新作品  ·国内第一本Visual C++ 2012 著作  ·入门必备经典指南  ·引领无数程序员进入编程殿堂
Author : (美)霍尔顿(Horton, I.) Translator : 苏正泉,李文娟 Publisher : 清华大学出版社 Publication Date :
Binding : 平装 Pages : 752 Language : 中文 Format : 16开
Description
  Ivor Horton的书能够占据市场的一个原因是:他用其独特、易于理解的教程风格来介绍各个主题,无论是编程新手,还是经验丰富的编程人员,都很容易理解。现在在这本修订的指南中,他全面介绍了标准C++语言和Visual C++2012。循序渐进的编程练习、实用的示例和清晰的解决方案,带领读者学习C++开发的来龙去脉。学习完本书,您就会牢固掌握使用Visual C++ 2012创建实际应用程序的技术。  《Visual C++ 2012入门经典(第6版)》特色  ◆ 介绍C++语言的当前版本(C++11),以及在Microsoft VisualStudio 2012中实现  ◆ 全面介绍如何使用完整的Visual C++编程语言  ◆ 解释C++标准模板库,以及如何应用它简化编程任务  ◆ 展示在C++中使用Microsoft Foundation Classes开发Windows桌面应用程序的基本元素  ◆ 开发能在Windows 8下运行的Windows 7桌面应用程序  ◆ 通过一个有效的游戏示例演示如何用Visual C++开发Windows 8应用程序
About the Author
  Ivor Horton,世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。  Ivor Horton原来是一位数学家,却因向往信息技术工作轻松而收入丰厚,因而涉足信息技术领域。尽管现实情况常常是工作辛苦而收入却相对不高,但他仍坚持从事计算机工作至今。在不同的时期,他从事过的工作包括程序设计、系统设计、顾问工作以及管理和实现相当复杂的项目。  Horton在计算机系统的设计和实现方面,拥有多年的工作经验,这些系统应用于多种行业的工程设计和制造运营。他不仅能运用多种编程语言开发特殊用途的应用程序,而且还为科研人员和工程人员提供教学,以帮助他们完成这类工作,在这些方面他都拥有相当丰富的经验。他多年来一直从事程序设计方面书籍的撰写工作,目前出版的著作有C、C++和Java等教程。目前,他既没有忙于写书,也不提供咨询服务,而是在钓鱼、旅游和尽情地享受生活。
  欢迎使用本书。通过学习本书,您可以使用Microsoft公司最新的应用程序开发系统Visual Studio 2012,成为优秀的C++程序员。本书旨在讲述C++程序设计语言,然后讲述如何运用C++语言开发自己的Windows应用程序。在此过程中,读者将了解这一最新Visual C++版本所提供的很多激动人心的新功能。  Visual C++ 2012是Microsoft开发环境Visual Studio 2012的所有版本的一部分,本书提到Visual C++时,都是指Visual Studio 2012包含的Visual C++ 2012功能。  0.1& 本书读者对象  本书针对任何想要学习如何使用Visual C++编写在Microsoft Windows操作系统下运行的C++应用程序的读者。阅读本书不需要预先具备任何特定编程语言的知识。如果属于下列3种情形之一,您就适合学习本教程:  ●& 属于编程新手,十分渴望投入编程世界,并最终掌握C++。要取得成功,您至少需要对计算机的工作原理有大体的理解——包括内存的组织方式以及数据和指令的存储方式。  ●& 具备一些其他语言的编程经验,如BASIC;渴望学习C++,并想提升实际的Microsoft Windows编程技能。  ●& 有一些使用C语言或C++语言的经验,但使用环境不是Microsoft Windows;希望使用最新的工具和技术,扩展在Windows环境下编程的技能。  0.2& 本书主要内容  本书的第一部分通过一个详细的循序渐进式教程,讲授了使用Visual Studio 2012支持的C++语言技术编写C++程序的基础知识。您将了解ISO/IEC C++语言的语法和用法,并通过一系列范围广泛的可工作示例,获得实际运用它的经验和信心。本书也提供了一些练习,可以检验所学的知识,并且可以下载练习题答案。  当然,本语言教程也介绍和说明了C++标准库功能的用法,因为开发程序时极有可能使用它们。随着深入地学习C++语言,您的标准库知识会不断增加。还将学习标准模板库(Standard Template Library,STL)提供的强大工具。  对C++的运用有信心之后,就可以继续学习Windows编程了。通过创建超过2000行代码的大型可运行的应用程序,学习如何使用MFC来开发本地Windows应用程序。开发此应用程序贯穿多章内容,用到了MFC提供的一系列用户界面功能。还要学习如何使用Windows 8 UI编写应用程序的基础知识,并开发了一个示例。  0.3& 本书结构  本书内容的结构安排如下:  ●& 第1章介绍使用C++编写程序所需要理解的基本概念,以及在Visual C++开发环境中体现的主要思想,还叙述了如何使用Visual C++的功能来创建本书其余部分要学习的各种C++应用程序。  ●& 第2~9章讲授C++语言。首先是简单的过程式程序示例,然后学习类和面向对象的编程。第10章介绍如何使用标准模板库(Standard Template Library,STL)。STL是一组功能强大且全面的工具,用来组织和操作C++程序中的数据。由于STL是独立于应用程序的,因此可以在上下文中大量应用它。  ● 第11章讨论Microsoft Windows桌面应用程序的组织方式,并描述和展示了在所有为Windows操作系统编写的桌面应用程序中都存在的基本元素。本章解释了以C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个Windows应用程序的基础示例。  ● 第12~17章讲述Windows桌面应用程序的编程。详细描述了如何使用MFC提供的构建GUI的功能编写C++ Windows应用程序。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件。除了学习构建GUI的技术以外,还将从开发该应用程序的过程中学到如何打印文档,以及如何在磁盘上保存应用程序数据。  ●& 第18章讲述为Windows 8编写应用程序的基本概念。  本书各章内容都包括许多工作示例,通过这些示例阐明所讨论的编程技术。每章结束时都总结了该章所讲述的要点,大多数章节都在最后给出了一组练习,您可以应用所学的技术来试着解答这些练习。练习的答案连同书中的所有代码都可以从Wrox出版社的网站上下载。  0.4& 使用本书的前提  Visual Studio 2012有几个版本,它们都有不同的功能。只有安装了Visual Studio 2012和Windows 8,才能使用Windows 8 UI开发应用程序。下面是使用本书各部分的要求:  如果安装了Visual Studio 11的免费版本和Windows 8,才能使用本书的所有示例和练习。Visual Studio 2012最便宜的付费版本是专业版。这个版本或更高版本及Windows 8比较适合学习本书。  如果安装了Visual Studio 2012专业版或更高版本和Windows 7,就可以使用第1~17章的使用示例和练习,但第18章不行。第18章介绍了使用Windows 8 UI的应用程序,这需要安装Visual Studio 2012和Windows 8。  Windows 8有一个免费的Visual Studio 2012 Express版本,但它不足以运行本书的许多示例。第12~17章的例子都不能用Visual Studio 2012 Express版本编译。  0.5& 源代码  读者在阅读本书提供的代码时,既可以亲自输入所有代码,也可以使用随书提供的代码文件。本书所有代码均可以从网站下载。进入该网站后,读者可以根据本书的书名查找本书(既可以使用搜索框,也可以使用书名列表进行查找),然后单击本书详细内容页面上提供的Download Code链接,就可以下载本书提供的所有代码。  注意:  由于许多书籍名称与本书类似,读者也可以通过ISBN进行查找,本书的ISBN为:978-0-111-36808-4。  另外,读者可以从前面提到的CodePlex网站下载本书或其他Wrox书籍的代码。  源代码下载成功后,读者用任一解压工具将其解压即可。
Table of Contents
第1章& 使用Visual C++编程 1.1& 使用Visual C++学习 1.2& 编写C++应用程序 1.3& 学习桌面应用程序的编程 1.3.1& 学习C++ 1.3.2& 控制台应用程序 1.3.3& Windows编程概念 1.4& 集成开发环境简介 1.4.1& 编辑器 1.4.2& 编译器 1.4.3& 链接器 1.4.4& 库 1.5& 使用IDE 1.5.1& 工具栏选项 1.5.2& 可停靠的工具栏 1.5.3& 文档 1.5.4& 项目和解决方案 1.5.5& 设置Visual C++的选项 1.5.6& 创建和执行Windows应用程序 1.6& 小结 1.7& 本章主要内容 第2章& 数据、变量和计算 2.1& C++程序结构 2.1.1& main()函数 2.1.2& 程序语句 2.1.3& 空白 2.1.4& 语句块 2.1.5& 自动生成的控制台程序 2.2& 定义变量 2.2.1& 命名变量 2.2.2& 声明变量 2.2.3& 变量的初始值 2.3& 基本数据类型 2.3.1& 整型变量 2.3.2& 字符数据类型 2.3.3& 整型修饰符 2.3.4& 布尔类型 2.3.5& 浮点类型 2.3.6& C++中的基本类型 2.3.7& 字面值 2.3.8& 定义数据类型的同义词 2.4& 基本的输入/输出操作 2.4.1& 从键盘输入 2.4.2& 到命令行的输出 2.4.3& 格式化输出 2.4.4& 转义序列 2.5& C++中的计算 2.5.1& 赋值语句 2.5.2& 算术运算 2.5.3& 计算余数 2.5.4& 修改变量 2.5.5& 增量和减量运算符 2.5.6& 计算的顺序 2.6& 类型转换和类型强制转换 2.6.1& 赋值语句中的类型转换 2.6.2& 显式类型转换 2.6.3& 老式的类型强制转换 2.7& AUTO关键字 2.8& 类型的确定 2.9& 按位运算符 2.9.1& 按位AND运算符 2.9.2& 按位OR运算符 2.9.3& 按位EOR运算符 2.9.4& 按位NOT运算符 2.9.5& 移位运算符 2.10& lvalue和rvalue 2.11& 了解存储时间和作用域 2.11.1& 自动变量 2.11.2& 决定变量声明的位置 2.11.3& 全局变量 2.11.4& 静态变量 2.12& 具有特定值集的变量 2.12.1& 旧枚举 2.12.2& 类型安全的枚举 2.13& 名称空间 2.13.1& 声明名称空间 2.13.2& 多个名称空间 2.14& 小结 2.15& 练习 2.16& 本章主要内容 第3章& 判断和循环 3.1& 比较数据值 3.1.1& if语句 3.1.2& 嵌套的if语句 3.1.3& 嵌套的if-else语句 3.1.4& 逻辑运算符和表达式 3.1.5& 条件运算符 3.1.6& switch语句 3.1.7& 无条件转移 3.2& 重复执行语句块 3.2.1& 循环的概念 3.2.2& for循环的变体 3.2.3& while循环 3.2.4& do-while循环 3.2.5& 基于范围的循环 3.2.6& 嵌套的循环 3.3& 小结 3.4& 练习 3.5& 本章主要内容 第4章& 数组、字符串和指针 4.1& 处理多个相同类型的数据值 4.1.1& 数组 4.1.2& 声明数组 4.1.3& 初始化数组 4.1.4& 使用基于范围的for循环 4.1.5& 字符数组和字符串处理 4.1.6& 多维数组 4.2& 间接数据访问 4.2.1& 指针的概念 4.2.2& 声明指针 4.2.3& 使用指针 4.2.4& 初始化指针 4.2.5& sizeof操作符 4.2.6& 常量指针和指向常量的指针 4.2.7& 指针和数组 4.3& 动态内存分配 4.3.1& 堆的别名--空闲存储器 4.3.2& new和delete操作符 4.3.3& 为数组动态分配内存 4.3.4& 多维数组的动态分配 4.4& 使用引用 4.4.1& 引用的概念 4.4.2& 声明并初始化lvalue引用 4.4.3& 在基于范围的for循环中使用引用 4.4.4& rvalue引用 4.5& 字符串的库函数 4.5.1& 确定以空字符结尾的字符串的长度 4.5.2& 连接以空字符结尾的字符串 4.5.3& 复制以空字符结尾的字符串 4.5.4& 比较以空字符结尾的字符串 4.5.5& 搜索以空字符结尾的字符串 4.6& 小结 4.7& 练习 4.8& 本章主要内容 第5章& 程序结构(1) 5.1& 理解函数 5.1.1& 需要函数的原因 5.1.2& 函数的结构 5.1.3& 替代的函数语法 5.1.4& 使用函数 5.2& 给函数传递实参 5.2.1& 按值传递机制 5.2.2& 给函数传递指针实参 5.2.3& 给函数传递数组 5.2.4& 给函数传递引用实参 5.2.5& 使用const修饰符 5.2.6& rvalue引用形参 5.2.7& main()函数的实参 5.2.8& 接受数量不定的函数实参 5.3& 从函数返回值 5.3.1& 返回指针 5.3.2& 返回引用 5.3.3& 函数中的静态变量 5.4& 递归函数调用 5.5& 小结 5.6& 练习 5.7& 本章主要内容 第6章& 程序结构(2) 6.1& 函数指针 6.1.1& 声明函数指针 6.1.2& 函数指针作为实参 6.1.3& 函数指针的数组 6.2& 初始化函数形参 6.3& 异常 6.3.1& 抛出异常 6.3.2& 捕获异常 6.3.3& 重新抛出异常 6.3.4& MFC中的异常处理 6.4& 处理内存分配错误 6.5& 函数重载 6.5.1& 函数重载的概念 6.5.2& 引用类型和重载选择 6.5.3& 何时重载函数 6.6& 函数模板 6.7& 使用decltype操作符 6.8& 使用函数的示例 6.8.1& 实现计算器 6.8.2& 从字符串中删除空格 6.8.3& 计算表达式的值 6.8.4& 获得项值 6.8.5& 分析数 6.8.6& 整合程序 6.8.7& 扩展程序 6.8.8& 提取子字符串 6.8.9& 运行修改过的程序 6.9& 小结 6.10& 练习 6.11& 本章主要内容 第7章& 自定义数据类型 7.1& C++中的结构 7.1.1& 结构的概念 7.1.2& 定义结构 7.1.3& 初始化结构 7.1.4& 访问结构的成员 7.1.5& 伴随结构的智能感知帮助 7.1.6& RECT结构 7.1.7& 使用指针处理结构 7.2& 数据类型、对象、类和实例 7.2.1& 类的起源 7.2.2& 类的操作 7.2.3& 术语 7.3& 理解类 7.3.1& 定义类 7.3.2& 声明类的对象 7.3.3& 访问类的数据成员 7.3.4& 类的成员函数 7.3.5& 成员函数定义的位置 7.3.6& 内联函数 7.4& 类构造函数 7.4.1& 构造函数的概念 7.4.2& 默认的构造函数 7.4.3& 默认的形参值 7.4.4& 在构造函数中使用初始化列表 7.4.5& 声明显式的构造函数 7.5& 类的私有成员 7.5.1& 访问私有类成员 7.5.2& 类的友元函数 7.5.3& 默认复制构造函数 7.6& this指针 7.7& 类的const对象 7.7.1& 类的const成员函数 7.7.2& 类外部的成员函数定义 7.8& 类对象的数组 7.9& 类的静态成员 7.9.1& 类的静态数据成员 7.9.2& 类的静态函数成员 7.10& 类对象的指针和引用 7.10.1& 类对象的指针 7.10.2& 类对象的引用 7.11& 小结 7.12& 练习 7.13& 本章主要内容 第8章& 深入理解类 8.1& 类析构函数 8.1.1& 析构函数的概念 8.1.2& 默认的析构函数 8.1.3& 析构函数与动态内存分配 8.2& 实现复制构造函数 8.3& 在变量之间共享内存 8.3.1& 定义联合 8.3.2& 匿名联合 8.3.3& 类和结构中的联合 8.4& 运算符重载 8.4.1& 实现重载的运算符 8.4.2& 实现对比较运算符的完全支持 8.4.3& 重载赋值运算符 8.4.4& 重载加法运算符 8.4.5& 重载递增和递减运算符 8.4.6& 重载函数调用操作符 8.5& 对象复制问题 8.5.1& 避免不必要的复制操作 8.5.2& 应用rvalue引用形参 8.5.3& 命名的对象是lvalue 8.6 默认的类成员 8.7& 类模板 8.7.1& 定义类模板 8.7.2& 根据类模板创建对象 8.7.3& 使用有多个形参的类模板 8.7.4& 函数对象模板 8.8& 完美转发 8.9& 使用类 8.9.1& 类接口的概念 8.9.2& 定义问题 8.9.3& 实现CBox类 8.10& 组织程序代码 8.11& 字符串的库类 8.11.1& 创建字符串对象 8.11.2& 连接字符串 8.11.3& 访问与修改字符串 8.11.4& 比较字符串 8.11.5& 搜索字符串 8.12& 小结 8.13& 练习 8.14& 本章主要内容 第9章& 类继承和虚函数 9.1& 面向对象编程的基本思想 9.2& 类的继承 9.2.1& 基类的概念 9.2.2& 基类的派生类 9.3& 继承机制下的访问控制 9.3.1& 派生类中构造函数的操作 9.3.2& 声明类的保护成员 9.3.3& 继承类成员的访问级别 9.4& 派生类中的复制构造函数 9.5& 禁止派生类 9.6& 友元类成员 9.6.1& 友元类 9.6.2& 对类友元关系的限制 9.7& 虚函数 9.7.1& 虚函数的概念 9.7.2& 确保虚函数的正确执行 9.7.3& 禁止重写函数 9.7.4& 使用指向类对象的指针 9.7.5& 使用引用处理虚函数 9.7.6& 纯虚函数 9.7.7& 抽象类 9.7.8& 间接基类 9.7.9& 虚析构函数 9.8& 类类型之间的强制转换 9.9& 嵌套类 9.10& 小结 9.11& 练习 9.12& 本章主要内容 第10章& 标准模板库 10.1& 标准模板库的定义 10.1.1& 容器 10.1.2& 容器适配器 10.1.3&& 迭代器 10.2& 智能指针 10.3& 算法 10.4& STL中的函数对象 10.5& STL容器范围 10.6& 序列容器 10.6.1& 创建矢量容器 10.6.2& 矢量容器的容量和大小 10.6.3& 访问矢量中的元素 10.6.4& 在矢量中插入和删除元素 10.6.5& 在矢量中存储类对象 10.6.6& 排序矢量元素 10.6.7& 排序矢量中的指针 10.6.8& 双端队列容器 10.6.9& 使用列表容器 10.6.10& 使用forward_list容器 10.6.11& 使用其他序列容器 10.6.12& tuple类模板 10.7& 关联容器 10.7.1& 使用映射容器 10.7.2& 使用多重映射容器 10.8& 关于迭代器的更多内容 10.8.1& 使用输入流迭代器 10.8.2& 使用插入迭代器 10.8.3& 使用输出流迭代器 10.9& 关于函数对象的更多内容 10.10& 关于算法的更多内容 10.10.1& fill() 10.10.2& replace() 10.10.3& find() 10.10.4& transform() 10.11& 类型特质和静态断言 10.12& λ表达式 10.12.1& capture子句 10.12.2& 捕获特定的变量 10.12.3& 模板和λ表达式 10.12.4& 包装λ表达式 10.13& 小结 10.14& 练习 10.15& 本章主要内容 第11章& Windows编程的概念 11.1& Windows编程基础 11.1.1& 窗口的元素 11.1.2& Windows程序与操作系统 11.1.3& 事件驱动型程序 11.1.4& Windows消息 11.1.5& Windows API 11.1.6& Windows数据类型 11.1.7& Windows程序中的符号 11.2& Windows程序的结构 11.2.1& WinMain()函数 11.2.2& 消息处理函数 11.3& MFC 11.3.1& MFC表示法 11.3.2& MFC程序的组织方式 11.4& 小结 11.5& 本章主要内容 第12章& 使用MFC编写Windows程序 12.1& MFC的文档/视图概念 12.1.1& 文档的概念 12.1.2& 文档界面 12.1.3& 视图的概念 12.1.4& 链接文档和视图 12.1.5& 应用程序和MFC 12.2& 创建MFC应用程序 12.2.1& 创建SDI应用程序 12.2.2& MFC Application Wizard的输出 12.2.3& 创建MDI应用程序 12.3& 小结 12.4& 练习 12.5& 本章主要内容0 第13章& 处理菜单和工具栏 13.1& 与Windows进行通信 13.1.1& 了解消息映射 13.1.2& 消息类别 13.1.3& 处理程序中的消息 13.2& 扩展Sketcher程序 13.3& 菜单的元素 13.4& 为菜单消息添加处理程序 13.4.1& 选择处理菜单消息的类 13.4.2& 创建菜单消息函数 13.4.3& 编写菜单消息函数的代码 13.4.4& 添加更新菜单消息的处理程序 13.5& 添加工具栏按钮 13.5.1& 编辑工具栏按钮的属性 13.5.2& 练习使用工具栏按钮 13.5.3& 添加工具提示 13.6& 小结 13.7& 练习 13.8& 本章主要内容 第14章& 在窗口中绘图 14.1& 窗口绘图的基础知识 14.1.1& 窗口工作区 14.1.2& Windows图形设备界面 14.2& MFC的绘图机制 14.2.1& 应用程序中的视图类 14.2.2& CDC类 14.3& 实际绘制图形 14.4& 对鼠标进行编程 14.4.1& 鼠标发出的消息 14.4.2& 鼠标消息处理程序 14.4.3& 使用鼠标绘图 14.5& 绘制草图 14.5.1& 运行示例 14.5.2& 捕获鼠标消息 14.6& 小结 14.7& 练习题 14.8& 本章主要内容 第15章& 改进视图 15.1& Sketcher应用程序的缺陷 15.2& 改进视图 15.2.1& 更新多个视图 15.2.2& 滚动视图 15.2.3& 使用MM_LOENGLISH映射模式 15.3& 删除和移动元素 15.4& 实现上下文菜单 15.4.1& 关联菜单和类 15.4.2& 选中上下文菜单项 15.5& 标识位于光标下的元素 15.5.1& 练习弹出菜单 15.5.2& 突出显示元素 15.5.3& 实现移动和删除功能 15.6& 处理屏蔽的元素 15.7& 小结 15.8& 练习 15.9& 本章主要内容 第16章& 使用对话框和控件 16.1& 理解对话框 16.2& 理解控件 16.3& 创建对话框资源 16.3.1& 给对话框添加控件 16.3.2& 测试对话框 16.4& 对话框的编程 16.4.1& 添加对话框类 16.4.2& 模态和非模态对话框 16.4.3& 显示对话框 16.5& 支持对话框控件 16.5.1& 初始化对话框控件 16.5.2& 处理单选按钮消息 16.6& 完成对话框的操作 16.6.1& 给文档添加线宽 16.6.2& 给元素添加线宽 16.6.3& 在视图中创建元素 16.6.4& 练习使用对话框 16.7& 使用微调按钮控件 16.7.1& 添加Scale菜单项和工具栏按钮 16.7.2& 创建微调按钮 16.7.3& 生成比例对话框类 16.7.4& 显示微调按钮 16.8& 使用缩放比例 16.8.1& 可缩放的映射模式 16.8.2& 设置文档的大小 16.8.3& 设置映射模式 16.8.4& 同时实现滚动与缩放 16.9& 使用状态栏 16.9.1& 给框架窗口添加状态栏 16.9.2& CString类 16.10& 使用编辑框控件 16.10.1& 创建编辑框资源 16.10.2& 创建对话框类 16.10.3& 添加Text菜单项 16.10.4& 定义文本元素 16.10.5& 实现CText类 16.11& 小结 16.12& 练习 16.13& 本章主要内容 第17章& 存储和打印文档 17.1& 了解序列化 17.2& 序列化文档 17.2.1& 文档类定义中的序列化 17.2.2& 文档类实现中的序列化 17.2.3& 基于CObject的类的功能 17.2.4& 序列化的工作方式 17.2.5& 如何实现类的序列化 17.3& 应用序列化 17.3.1& 记录文档修改 17.3.2& 序列化文档 17.3.3& 序列化元素类 17.4& 练习序列化 17.5& 打印文档 17.6& 实现多页打印 17.6.1& 获取文档的总尺寸 17.6.2& 存储打印数据 17.6.3& 准备打印 17.6.4& 打印后的清除 17.6.5& 准备设备上下文 17.6.6& 打印文档 17.6.7& 获得文档的打印输出 17.7& 小结 17.8& 练习 17.9& 本章主要内容 第18章& 编写Windows 8应用程序 18.1& 理解Windows 8应用程序 18.2 开发WINDOWS 8应用程序 18.3& Windows Runtime的概念 18.3.1& WinRT名称空间 18.3.2& WinRT对象 18.4& C++ COMPONENT EXTENSIONS(C++/CX) 18.4.1& C++/CX名称空间 18.4.2& 定义WinRT类类型 18.4.3& Ref类类型的变量 18.4.4& 访问ref类对象的成员 18.4.5& 事件处理函数 18.4.6 转换ref类引用的类型 18.5& XAML 18.5.1& XAML元素 18.5.2& XAML中的UI元素 18.5.3& 附加属性 18.5.4& 父元素和子元素 18.5.5& 控件元素 18.5.6 布局元素 18.5.7& 处理UI元素的事件 18.6& 创建Windows 8应用程序 18.6.1& 应用程序文件 18.6.2& 定义用户界面 18.6.3& 创建标题 18.6.4& 添加游戏控件 18.6.5& 创建包含纸牌的网格 18.6.6& 实现游戏的操作 18.6.7& 初始化MainPage对象 18.6.8& 初始化一副纸牌 18.6.9& 建立cardGrid的子元素 18.6.10& 初始化游戏 18.6.11& 洗牌 18.6.12& 突出显示UI纸牌 18.6.13 处理翻牌事件 18.6.14& 处理图形事件 18.6.15& 确认赢家 18.6.16& 处理游戏控件的按钮事件 18.7& 缩放UI元素 18.8& 平移 18.8.1& 应用程序的启动动画 18.8.2& 故事板动画 18.9& 小结 18.10& 本章主要内容
Average rating:
Make Money with Us
Buyer Protection
Let Us Help You
,Online Shopping for Books, Electronics, Apparel, Computers, Home Garden & more,Buying with Confidence from Brand Name Suppliers.Visual Studio C++ Command Line - Gigbit - 推酷
Visual Studio C++ Command Line - Gigbit
最近在Visual Studio 2012进行vp8的开发,之前一直都是在ubuntu上进行开发,关于编译链接的一些选项可直接在makefile中定义,比如vp8的头文件都放在include文件下面,静态连接库放在lib文件夹下面,所以,就可以这样指定相关路径
1 -I./include -L./lib
对于习惯了在命令行指定相关属性的同志来说,幸运的是,在Visual Studio中也可以进行这样的设置。
Project-&Properities-&Configuration Properities-&C/C++ -&Command Line&
已经打开的编译选项可以在All Options中看到,如果还想打开其他选项,就可以在Additional Options进行设置。
//定义_DEBUG
//也可以这样定义_DEBUG
-D &_DEDBUG&
//添加头文件路径
-I &include&
//也可以这样子添加头文件路径
需要注意的是,在使用双引号的时候,中间需要有一个空格。
当然,你也可以直接进在
Project-&Properities-&Configuration Properities-&C/C++ -&All Options中进行设置。
关于CL.exe的选项可以参考
cl.exe 是Microsoft C/C++编译器&
C/C++ 编译器选项&
/O1 最小化空间 /Op[-] 改善浮点数一致性&
/O2 最大化速度 /Os 优选代码空间&
/Oa 假设没有别名 /Ot 优选代码速度&
/Ob&n& 内联展开(默认 n=0) /Ow 假设交叉函数别名&
/Od 禁用优化(默认值) /Ox 最大化选项。(/Ogityb2 /Gs)&
/Og 启用全局优化 /Oy[-] 启用框架指针省略&
/Oi 启用内部函数&
-代码生成-&
/G3 为 80386 进行优化 /Gh 启用 _penter 函数调用&
/G4 为 80486 进行优化 /GH 启用 _pexit 函数调用&
/G5 为 Pentium 进行优化 /GR[-] 启用 C++ RTTI&
/G6 对 PPro、P-II、P-III 进行优化 /GX[-] 启用 C++ EH (与 /EHsc 相同)&
/G7 对 Pentium 4 或 Athlon 进行优化 /EHs 启用 C++ EH (没有 SEH 异常)&
/GB 为混合模型进行优化(默认) /EHa 启用 C++ EH(w/ SEH 异常)&
/Gd __cdecl 调用约定 /EHc extern &C& 默认为 nothrow&
/Gr __fastcall 调用约定 /GT 生成纤维安全 TLS 访问&
/Gz __stdcall 调用约定 /Gm[-] 启用最小重新生成&
/GA 为 Windows 应用程序进行优化 /GL[-] 启用链接时代码生成&
/Gf 启用字符串池 /QIfdiv[-] 启用 Pentium FDIV 修复&
/GF 启用只读字符串池 /QI0f[-] 启用 Pentium 0x0f 修复&
/Gy 分隔链接器函数 /QIfist[-] 使用 FIST 而不是 ftol()&
/GZ 启用堆栈检查(/RTCs) /RTC1 启用快速检查(/RTCsu)&
/Ge 对所有函数强制堆栈检查 /RTCc 转换为较小的类型检查&
/Gs[num] 控制堆栈检查调用 /RTCs 堆栈帧运行时检查&
/GS 启用安全检查 /RTCu 未初始化的本地用法检查&
/clr[:noAssembly] 为公共语言运行库编译&
noAssembly - 不产生程序集&
/arch:&SSE|SSE2& CPU 结构的最低要求,以下内容之一:&
SSE - 启用支持 SSE 的 CPU 可用的指令&
SSE2 - 启用支持 SSE2 的 CPU 可用的指令&
-输出文件-&
/Fa[file] 命名程序集列表文件 /Fo&file& 命名对象文件&
/FA[sc] 配置程序集列表 /Fp&file& 命名预编译头文件&
/Fd[file] 命名 .PDB 文件 /Fr[file] 命名源浏览器文件&
/Fe&file& 命名可执行文件 /FR[file] 命名扩展 .SBR 文件&
/Fm[file] 命名映射文件&
-预处理器-&
/AI&dir& 添加到程序集搜索路径 /Fx 将插入的代码合并到文件&
/FU&file& 强制使用程序集/模块 /FI&file& 命名强制包含文件&
/C 不抽出注释 /U&name& 移除预定义宏&
/D&name&{=|#}&text& 定义宏 /u 移除所有预定义宏&
/E 预处理到 stdout /I&dir& 添加到包含搜索路径&
/EP 预处理到 stdout,没有 #line /X 忽略“标准位置”&
/P 预处理到文件&
/Zi 启用调试信息 /Ze 启用扩展(默认)&
/ZI 启用“编辑并继续”调试信息 /Zl 省略 .OBJ 中的默认库名&
/Z7 启用旧式调试信息 /Zg 生成函数原型&
/Zd 仅有行号调试信息 /Zs 只进行语法检查&
/Zp[n] 在 n 字节边界上包装结构 /vd{0|1} 禁用/启用 vtordisp&
/Za 禁用扩展(暗指 /Op) /vm&x& 指向成员的指针类型&
/Zc:arg1[,arg2] C++ 语言一致性,这里的参数可以是:&
forScope - 对范围规则强制使用标准 C++&
wchar_t - wchar_t 是本机类型,不是 typedef&
@&file& 选项响应文件 /wo&n& 发出一次警告 n&
/?, /help 打印此帮助消息 /w&l&&n& 为 n 设置警告等级 1-4&
/c 只编译,不链接 /W&n& 设置警告等级(默认 n=1)&
/H&num& 最大外部名称长度 /Wall 启用所有警告&
/J 默认 char 类型是 unsigned /Wp64 启用 64 位端口定位警告&
/nologo 取消显示版权消息 /WX 将警告视为错误&
/showIncludes 显示包含文件名 /WL 启用单行诊断&
/Tc&source file& 将文件编译为 .c /Yc[file] 创建 .PCH 文件&
/Tp&source file& 将文件编译为 .cpp /Yd 将调试信息放在每个 .OBJ 中&
/TC 将所有文件编译为 .c /Yl[sym] 为调试库插入 .PCH 引用&
/TP 将所有文件编译为 .cpp /Yu[file] 使用 .PCH 文件&
/V&string& 设置版本字符串 /YX[file] 自动 .PCH&
/w 禁用所有警告 /Y- 禁用所有 PCH 选项&
/wd&n& 禁用警告 n /Zm&n& 最大内存分配(默认为 %)&
/we&n& 将警告 n 视为错误&
/MD 与 MSVCRT.LIB 链接 /MDd 与 MSVCRTD.LIB 调试库链接&
/ML 与 LIBC.LIB 链接 /MLd 与 LIBCD.LIB 调试库链接&
/MT 与 LIBCMT.LIB 链接 /MTd 与 LIBCMTD.LIB 调试库链接&
/LD 创建 .DLL /F&num& 设置堆栈大小&
/LDd 创建 .DLL 调试库 /link [链接器选项和库]&
Microsoft Visual Studio 2010 cl.exe 编译器帮助&
cl.exe /? &&cl.txt&
C/C++ 编译器选项&
/O1 最小化空间 /O2 最大化速度&
/Ob&n& 内联扩展(默认 n=0) /Od 禁用优化(默认)&
/Og 启用全局优化 /Oi[-] 启用内部函数&
/Os 优选代码空间 /Ot 优选代码速度&
/Ox 最大化优化 /Oy[-] 启用帧指针省略&
-代码生成-&
/GF 启用只读字符串池 /Gm[-] 启用最小重新生成&
/Gy[-] 分隔链接器函数 /GS[-] 启用安全检查&
/GR[-] 启用 C++ RTTI /GX[-] 启用 C++ EH (与 /EHsc 相同)&
/EHs 启用 C++ EH (没有 SEH 异常) /EHa 启用 C++ EH (w/ SEH 异常)&
/EHc 外部“C”默认为 nothrow&
/fp:&except[-]|fast|precise|strict& 选择浮点模式:&
except[-] - 在生成代码时考虑浮点异常&
fast -“fast”浮点模式;结果可预测性比较低&
precise -“precise”浮点模式;结果可预测&
strict -“strict” 浮点模式(意味着 /fp:except)&
即使使用 /fp:except,/Qfast_transcendentals 也生成内联内部 FP&
/GL[-] 启用链接时代码生成 /GA 为 Windows 应用程序进行优化&
/Ge 对所有函数强制堆栈检查 /Gs[num] 控制堆栈检查调用&
/Gh 启用 _penter 函数调用 /GH 启用 _pexit 函数调用&
/GT 生成纤程安全 TLS 访问 /RTC1 启用快速检查(/RTCsu)&
/RTCc 转换为较小的类型检查 /RTCs 堆栈帧运行时检查&
/RTCu 未初始化的局部用法检查&
/clr[:option] 为公共语言运行时编译,其中 option 是:&
pure - 生成只包含 IL 的输出文件(没有本机可执行代码)&
safe - 生成只包含 IL 的可验证输出文件&
oldSyntax - 接受 Visual C++
的托管扩展语法&
initialAppDomain - 启用 Visual C++ 2002 的初始 AppDomain 行为&
noAssembly - 不产生程序集 /Gd __cdecl 调用约定&
/Gr __fastcall 调用约定 /Gz __stdcall 调用约定&
/GZ 启用堆栈检查(/RTCs) /QIfist[-] 使用 FIST 而不是 ftol()&
/hotpatch 确保可热修补映像的函数填充&
/arch:&SSE|SSE2|AVX& CPU 架构的最低要求,以下选项之一:&
SSE - 启用支持 SSE 的 CPU 可用的指令&
SSE2 - 启用支持 SSE2 的 CPU 可用的指令&
AVX - 支持使用 Intel(R) 高级矢量扩展指令&
/Qimprecise_fwaits 仅在“try”边界而不是“try”内部生成 FWAITs&
/Qsafe_fp_loads 生成安全 FP 负载&
-输出文件-&
/Fa[file] 命名程序集列表文件 /FA[scu] 配置程序集列表&
/Fd[file] 命名 .PDB 文件 /Fe&file& 命名可执行文件&
/Fm[file] 命名映射文件 /Fo&file& 命名对象文件&
/Fp&file& 命名预编译头文件 /Fr[file] 命名源浏览器文件&
/FR[file] 命名扩展 .SBR 文件 /Fi[file] 命名预处理的文件&
/doc[file] 处理 XML 文档注释,并可选择命名 .xdc 文件&
-预处理器-&
/AI&dir& 添加到程序集搜索路径 /FU&file& 强制使用程序集/模块&
/C 不抽出注释 /D&name&{=|#}&text& 定义宏&
/E 预处理到 stdout /EP 预处理到 stdout,无行号&
/P 预处理到文件 /Fx 将插入的代码合并到文件中&
/FI&file& 命名强制包含文件 /U&name& 移除预定义的宏&
/u 移除所有预定义的宏 /I&dir& 添加到包含搜索路径&
/X 忽略“标准位置”&
/Zi 启用调试信息 /Z7 启用旧式调试信息&
/Zp[n] 在 n 字节边界上包装结构 /Za 禁用扩展&
/Ze 启用扩展(默认) /Zl 省略 .OBJ 中的默认库名&
/Zg 生成函数原型 /Zs 只进行语法检查&
/vd{0|1|2} 禁用/启用 vtordisp /vm&x& 指向成员的指针类型&
/Zc:arg1[,arg2] C++ 语言合规性,这里的参数可以是:&
forScope[-] - 对范围规则强制使用标准 C++&
wchar_t[-] - wchar_t 是本机类型,不是 typedef&
auto[-] - 对 auto 强制使用新的标准 C++ 含义&
trigraphs[-] - 启用三元祖(默认为关闭)&
/ZI 启用“编辑并继续”调试信息 /openmp 启用 OpenMP 2.0 语言扩展&
- 杂项 &A href=&mailto:-@-&
@&file& 选项响应文件 /?, /help 打印此帮助消息&
/bigobj 生成扩展的对象格式 /c 只编译,不链接&
/errorReport:option 将内部编译器错误报告给 Microsoft&
none - 不发送报告 prompt - 提示立即发送报告&
queue - 在下一次管理员登录时,提示发送报告(默认)&
send - 自动发送报告 /FC 诊断中使用完整路径名&
/H&num& 最大外部名称长度 /J 默认 char 类型是 unsigned&
/MP[n] 最多使用“n”个进程进行编译 /nologo 取消显示版权信息&
/showIncludes 显示包含文件名 /Tc&source file& 将文件编译为 .c&
/Tp&source file& 将文件编译为 .cpp /TC 将所有文件编译为 .c&
/TP 将所有文件编译为 .cpp /V&string& 设置版本字符串&
/w 禁用所有警告 /wd&n& 禁用警告 n&
/we&n& 将警告 n 视为错误 /wo&n& 发出一次警告 n&
/w&l&&n& 为 n 设置警告等级 1-4 /W&n& 设置警告等级(默认 n=1)&
/Wall 启用所有警告 /WL 启用单行诊断&
/WX 将警告视为错误 /Yc[file] 创建 .PCH 文件&
/Yd 将调试信息放在每个 .OBJ 中 /Yl[sym] 为调试库插入 .PCH 引用&
/Yu[file] 使用 .PCH 文件 /Y- 禁用所有 PCH 选项&
/Zm&n& 最大内存分配(默认为 %) /Wp64 启用 64 位端口定位警告&
/LD 创建 .DLL /LDd 创建 .DLL 调试库&
/LN 创建 .netmodule /F&num& 设置堆栈大小&
/link [链接器选项和库] /MD 与 MSVCRT.LIB 链接&
/MT 与 LIBCMT.LIB 链接 /MDd 与 MSVCRTD.LIB 调试库链接&
/MTd 与 LIBCMTD.LIB 调试库链接&
-代码分析-&
/analyze[:WX-] 启用代码分析&
WX- - 即使调用了 /WX,也不应将代码分析警告视为错误
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见

我要回帖

更多关于 王中中 的文章

 

随机推荐