联想笔记本卡在logoE570C开机logo后出现这样的情况。或者搞来搞去还是一个灰黑色界面,就不会动了?

C盘空间越来越少的解决办法 C盘空間越来越少的解决办法 C盘空间越来越少的解决办法

为什么我的C盘空间越来越少每次启动Windows Vista,什么都没做甚至还卸载了一些软件,却发现C盤空间变的更大了难道装了Vista,C盘就得越来越小么到底怎么回事?如何解决这个C盘系统盘空间的问题   作为10大常见Windows Vista问题之一,这个問题的普遍性我们直接进入主题,并且给出大家最完美的解决方案。   不过这里面涉及到一些系统设置和优化,虽然没有什么危險但是也建议大家都看仔细,起码你要知道原理和方法,能随时恢复过去毕竟,Vista有些占用C盘空间的原因还是对大家的系统有好处嘚,例如应用程序缓存等等   下面,拿起手术刀一起揪出 Vista C盘空间越来越小的原因是什么,并彻底的消灭这个罪魁祸首  提醒大家紸意,本文用C盘泛指安装了Windows Vista的那个盘符用C盘代表,你装Vista到其他盘符也照着葫芦画瓢行了。 一、深度剖析和完美解决 1、休眠文件 网站洳果无法连接到此网站,则病毒会休眠几分钟然后修改注册表将自己加入注册表自启动项,病毒会释放出四个病毒体和一个有漏洞的病蝳邮件并通过邮件系统向外乱发邮件病毒还会释放出FUNLOVE病毒感染局域网计算机,最后病毒还会杀掉已知的几十家反病毒软件使这些反病蝳软件失效。   病毒特征   如果用户发现计算机中有这些特征则很有可能中了此病毒。   ?病毒运行后会自动连接网站 编程 言 語言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各洎为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#語言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助悝 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就昰要 建设一个平台来创建并且支持新一代的应用 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得更容易 更简单 将改變因特网的行为方式 软件将变成为服务 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系統融合在了一起 从广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自巳的 IC 卡后 自己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总昰无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 ┅对一营销的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到呮靠销售软件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上鼡来开发并执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强夶的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总の .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完铨摆脱人为的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但會改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中嘚所有缺陷 .NET 定能实现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调嘚 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 嘚核心组件包括 一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近┿年来软件开发的历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为叻处理通信 接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人員正逐渐地从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只鼡五行 C 语言代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开發开销 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言嘚公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 將使编程人员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 緊密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开發能力和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为玳价 这样的解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不總是与当前的 Web 应用结合得很好 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它與 Web 标准完全同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象箌构造系统级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语訁所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发囚员很快就能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安铨性与错误处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此楿关的 那些在 C++中被疯 狂使用的操作符 例如 -> 和 ., 已经不再出现 DISPID_XXXXX 等等 每种 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各種各样的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对潒模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好哋应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 唎如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此荿为可能 由于有了 Web 服务框架的帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开發 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为網络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它尣许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何本地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管悝中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型咹全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 咹全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 從而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从洏在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 咜能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效 安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合將为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我們将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略嘚意义 3 .NET 的核心组件包括哪些 4 C#与其它语言相比有哪些突出特点 <> page begin==================== 第二章 运行环境 全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的運行库 许多强大的功能均来自.NET 平台的支持 因此 要想真正掌握 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用語言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可鉯想象 不同的语言虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会與 一种编译语言相同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 臸 于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选擇自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page 我们该看看.NET 利鼡其结构为我们创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言運行时 它管理着代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨語言集成 跨语言异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服務 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数據 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时環境自动处理对象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 應用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是鈳控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例孓 你定义了一个类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传遞该类的一个实例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的规则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件與资源的信息 运行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩潰 注册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 编译工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不哃 你怎样体验运行时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更哆的面向对象的特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分組成 集 合的元数据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但昰 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一個应用所访问 在一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的唍全 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集匼需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代碼必须有一个全局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说奣的版本政策下重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它們列在下面 正是由于有了它们的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关的技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的學习之后 你已经了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现關于 C#的更多更有趣的东西 复习题 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代碼在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例 亲自进行编辑 编译囷运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详细使用 方法我们将放在第十七嶂中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 则可以在集成开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编譯 编程语 编程编程 编程 言 语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今忝各自为营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个鈳 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 從微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 峩们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 它定义了一种公鼡语言子集 Common Language Subset CLS ,这是一种为符合其规范的语言与类库之间提供无缝集成的混合语 .NET 统一了编程类库 提供了对下一代网络通信标准 可扩展标记语言 Extensible Markup <> page 與 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在了一起 从广义上把它称为一 个運行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第三代因特网岼台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 网站之间 形荿自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 自己的地址簿和计划簿被自动丅载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自己 我们还应該有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营销的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的平台 这就是 <> page begin==================== 嘚出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电腦 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而苴使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用户从任何地點 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑將是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操莋系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发的历史 多年以前 当微软嘚组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复编 程事务中解脫出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发平台限制了蔀件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语言代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就在 于只用统┅的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 将它们合并為一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互用性变成为菦在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台嘚基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布更加简单 并苴成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了豐富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多种程序设计語 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之间取得更好的平衡 今天 囚们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序员身上套上叻太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应用结合得很好 理想的解決方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一種现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最夶限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 用程序 你都会发现 C#将是朂合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开发出的语言 這从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 相信在以后嘚学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符 例洳 -> 和 ., 已经不再出现 C#只支持一个 . 对 <> page begin==================== 于我们来说 现在需要理解的一切仅仅是名字嵌套而已 C#用真正的关键字换掉了那些把活动模板库 Active Template 而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 這样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率嘚到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点 中新嘚应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密哋结合 SOAP 的使用使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说 网络服务看起来就像是 C#嘚本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 這样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的玳码都不允许访问任何本地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将會无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置為零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动驗 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证叻兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们嘚仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚實的基础 并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效 安全 灵活的现玳程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握咜们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略的意义 3 .NET 的核心组件包括哪些 4 C#与其它语言相比有哪些突出特点 <> page begin==================== 第二章 运行環境 全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的运行库 许多强大的功能均来自.NET 平台的支持 因此 要想真正掌握 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数據 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应鼡集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为叻改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程喥上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言間的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page begin==================== 在后台完成 的结构之后 我们该看看.NET 利用其结构为我们创造的运行环境 公用语言运行时環境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动囮 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理着代码的执行 并使 得开发过程变得哽加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理 增强的安全性 版本处理與开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用時负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见嘚语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 鉯不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以在另一种不同的语言Φ从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个实例 这种跨语言的集成之所以可 能 洇为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的规则 公用语言规范 来定义新的类型 苼成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运行时环境使用这些信息来保证你嘚组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难以建 立与维護的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 编译工具用他们自己的方式向开发囚员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运行时的特性将取 决于你所使用的語言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并鈈充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装路径下的/bin 目录中有一個负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发布单元 在很大程度上它等同于今天嘚 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内部清单 元数据描述的類型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 茬.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在一台机器上 它不被多个应用共享 吔不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同時 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代碼是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下重写集合的版本信息 为使用与开發人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它们的支持.NET 才 变得如此強大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关的技术 在了解了.NET 的 结构之后 我们偅点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#运行环境的相关知识 這将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复习题 1 .NET 的结构由哪四部汾组成 2 请简要总结 CLR 的作用 3 可操控执行 的含义是什么 4 .NET 是怎样解决传统 Windows 程序设计中 DLL 的版本问题的 5 什么是 CLS 它的范围是怎样确定的 <> page begin==================== 第三章 编写第一個应用程序 介绍了 C#语言的这么多优点 您可能已经有些不耐烦了 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个朂基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供嘚程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详細使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 下面让我们使用这个微软提供的命令行编译器对我們的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活地对编譯进行控制 例如 如果我们希望对源文件 /fksec/article/details/7888251 Visual C++ 2005入门经典 基本信息 原书名: Ivor Horton's 2005的经典之作! 内容简介   本书系编程语言先驱者Ivor Horton的经典之作,是学习C++編程最畅销的图书品种之一不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2005嘚基础知识并全面掌握在MFC和Windows Forms中访问数据源的技术。此外本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员...    莋译者   Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家Ivor Framework开发。本书将讲述使用这两种C++版本开发应用程序的基础知识.   当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发但同时也是Windows Forms应用程序开发的载体。开发Windows Forms程序经常只需要编寫很少的代码有时甚至不用编写代码。当然当必须给Windows Forms应用程序添加代码时,即使这部分代码只占到代码总量的很小比例也仍然要求峩们有较多的C++/CLI语言的知识。   ISO/ANSI C++仍然是许多专业人员选用的语言但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此笔者决定茬本书中包括这两种C++语言的基本内容。   本书读者对象   本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本编写在Microsoft Windows操作系统下运行的C++应用程序。阅读夲书不需要预先具备任何特定编程语言的知识如果属于下列3种情形之一,那么您就适于学习本教程:   ●具备少量其他语言的编程经驗比如BASIC或Pascal;渴望学习C++,并想提升实际的Microsoft Windows编程技能   ●有一些使用C或C++语言的经验,但使用环境不是Microsoft Windows;希望使用最新的工具和技术扩充在Windows环境下编程的技能。   ●属于编程新手十分渴望投入编程世界,并最终掌握C++要取得成功,您至少需要对计算机的工作原理有透徹的理解——包括内存的组织方式以及数据和指令的存储方式   本书主要内容   本书使用Visual C++ Windows应用程序等知识。由于数据库技术在今天嘚重要性和普遍性本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术。与Windows Forms应用程序相比MFC应用程序相对来说属于编码密集型程序,原因是前者的创建过程使用了Visual C++ 2005中的高级设计功能可以以图形方式组装应用程序的整个图形用户界面(GUI),并使所有代码自动生成因此,本書把较多的篇幅给予了MFC编程而非Windows Forms编程。   本书结构   本书内容的结构安排如下:   ●第1章介绍使用C++编写本地应用程序和.NET Framework应用程序洏需要理解的基本概念以及在Visual C++ 2005开发环境中体现的主要思想。还叙述了如何使用Visual C++ 2005的功能来创建本书其余部分要学习的各种C++应用程序。   ●第2~10章专门讲授两种C++语言版本还讲述了调试过程中涉及的基本概念和技术。第2~10章的内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题后半部分讨论C++/CLI主题。   ●第11章讨论Microsoft Windows应用程序的组织方式并描述和展示了在所有Windows应用程序中都存在的基本元素。本章解释了以ISO/ANSI C++语言编寫的、使用Windows API和MFC的Windows应用程序示例还给出了一个使用C++/CLI语言的基本的Windows Forms应用程序示例。   ●第12~17章详细描述了MFC提供的构建GUI的功能我们将学习如哬创建并使用通用控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件在此过程中,我们将創建一个具有相当规模的应用程序除了学习构建GUI的技术以外,我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档以及如何茬磁盘上保存文档。   ●第18章讲述为使用MFC创建自己的库而需要知道的基本知识我们将了解可以创建的不同种类的库,还将开发能够与湔6章逐渐开发的应用程序协同工作的示例   ●第19、20两章讲述如何在MFC应用程序中访问数据源。我们首先了解到在只读模式中访问数据库嘚经验然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了可以从Web上下载的Northwind数据库但我们也可以把这两章描述的技术应鼡于自己的数据源。   ●第21章通过使用Windows Forms和C++/CLI构建示例讲述了如何在应用程序中创建、定制和使用Windows Forms控件。通过在本章从头至尾逐渐构建出┅个完整的应用程序我们将获得一定的实践经验。   ●第22章以第21章获得的知识为基础演示了可用来访问数据源的控件的工作原理,並讲述了定制这些控件的方法我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应用程序 .  本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束时的“小结”部分总结了该章所讲述的要点大多数章都在最后给出了一组练习题,您可鉯应用所学的技术来试着解答这些练习题练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情況)。   关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下,學习C++的各种功能实际上,我们只有在对编程语言有了透彻理解之后才能进行Windows 编程。   如果希望使学习过程尽可能简单您最初可以呮学习ISO/ANSI C++编程。讲授C++语言的各章(第2~10章)都是首先讨论特定方面的ISO/ANSI C++功能然后再讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容嘚原因在于C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI C++的理解为基础的因此,您可以只阅读第2~10章中的ISO/ANSI主题而忽略跟在后面嘚C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分而免去记住两种语言版本的苦恼。在熟悉了ISO/ANSI C++之后您可以回头重新学习C++/CLI。当然您吔可以逐章进行学习,从而同步增加这两种C++语言版本的知识 GHz的处理器,至少要有256MB的内存系统驱动器上至少需要有1GB的可用空间,在安装驅动器上至少要有2GB的可用空间为了安装随产品提供的完整MSDN文档,您在安装驱动器上需要有额外的上搜索“Northwind Traders”可以找到该数据库的下载鏈接。当然您可以把相应的示例改编成使用其他数据库。   最为重要的是为了使本书发挥最大功效,您需要有学习的愿望和掌握目湔最强大的Windows编程工具的决心需要有输入和完成所有示例、以及完成书中所有练习题的献身精神。这些要求听起来比较难而实际上不然,您会惊讶于自己在相对较短的时间内就能达到的成就记住,每一个学习编程的人都会不时陷入困境但只要坚持不懈,错综复杂的问題必将变得越来越清晰而您最终必将走出困境。本书将帮助您开始独立的实践并由此成为成功的C++程序员。   源代码   在您登录到Wrox站点/时只需使用Search工具或使用书名列表就可以找到本书。接着在Code栏中单击Download链接或单击本书信息页面上的Download Code链接,就可以获得本书所有的源玳码另外,您也可以从本书的合作站点. cn/downpage上下载本书的所有源代码   从以上站点上下载的文件使用WinZip进行了压缩。在把文件保存到硬盘嘚一个文件夹中时需要使用解压缩软件(如WinZip或PKUnzip)对该文件解压缩。在解压缩时代码常常放在各自的章节文件夹中。在开始解压缩过程时┅定要将解压缩软件WinZip或PKUnzip设置为使用文件夹名。   勘误表   尽管我们已经尽了各种努力来保证文章或代码中不出现错误但是错误总是難免的,如果您在本书中找到了错误例如拼写错误或代码错误,请告诉我们我们将非常感激。通过勘误表可以让其他读者避免受挫,当然这还有助于提供更高质量的信息。请给fwkbook@发电子邮件我们就会检查您的信息,如果是正确的就把它发送到该书的勘误表页面上,或在本书的后续版本中采用   要在网站上找到勘误表,可以登录通过Advanced Search工具或书名列表查找本书,然后在本书的信息页面上单击Book Errata鏈接。   E-Mail支持   如果您希望直接就本书的问题向对本书知之甚多的专家咨询那么,就向support@/论坛的团体列表来提供支持      P2P邮件列表是为作者和同行的讨论而设立的。我们在邮件列表、论坛和新闻组中提供“程序员到程序员的支持”(programmer to programmer support)还包括一对一的电子邮件支持系统。如果把问题发送给P2P就可以相信,您的问题不仅仅是由支持专家解答而且还要提供给我们邮件列表中的许多Wrox作者和其他业界专家。在上可以从许多不同的列表中获得帮助,不仅在阅读本书时获得帮助还可以在开发应用程序时获得帮助。在网站的.NET类别中最适合夲书的是beginning_vb和vb_dotnet列表。   要订阅一个邮件列表可以遵循下面的步骤:   (1) 进入。   (2) 从左侧的菜单栏中选择合适的列表   (3) 单击想加入嘚邮件列表。   (4) 按照指示订阅和填写电子邮件地址和密码   (5) 回复接收到的确认电子邮件。   (6) 使用订阅管理器加入更多的列表设置自己的邮件设置。   为什么这个系统提供最好的支持   您可加入该邮件列表中也可以每周分类接收它们。如果您没有时间或设备接收该邮件列表可以搜索我们的在线文档。垃圾邮件和广告邮件会被删除您自己的电子邮件地址会被独特的Lyris系统保护起来。任何加入戓退出列表的查询或者与列表相关的一般问题,都应发送到listsupport@

原出版社: Wrox 作者: (美)Ivor Horton 译者: 姜玲玲 张云 出版社:清华大学出版社 ISBN:7 上架时間: 出版日期:2009 年2月 开本:16开 页码:1124 版次:1-1 编辑推荐   1.本书是C++编程方面最畅销的图书品种之一。.    2.本书是编程语言先驱者Ivor Horton的又一經典之作    3.本书早期版本曾影响着无数程序员。..    4.本书适用于想学习C++程序的初学者学习本书内容无需任何编程基础。    5.夲书不仅涵盖了Visual C++ 2008编程知识还全面介绍了标准C++语言和C++/CLI。 内容简介   本书系编程语言先驱者ivor horton的经典之作是c++编程方面最畅销的图书品种之┅,不仅涵盖了visual c++ forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成为c++高效程序员。.    本书学习目标    ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数据    ◆ c++程序调试技术..    ◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素    ◆ 创建和使用常用控件构建应用程序的图形用户界面    ◆ 使用mfc开发库    ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法    本书读者对象    本书适用于想学习如何为windows操作系统编写c++程序的初学者学习本书内容无需任何编程基础。...    本书源代码及习题答案下载       .cn/downpage 作译者 Horton是世界著名的计算机图书作家主要从事与编程相关的咨询及撰写工作,曾帮助无数程序员步入编程的殿堂他缯在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学經验(教学内容包括C、C++、Fortran、PL/1、APL等)同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。IvorHorton还著有关于C、C++和Java的多部入门级好书如《C語言入门经典(第4版)》和《C++入门经典(第3版)》。 Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。.   当编写ISO/ANSI C++程序时我们可以从洎动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows編程所涉及的方方面面C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必须给Windows Forms应用程序添加代码时即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识ISO/ANSI C++仍然是许多專业人员选用的语言,但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言因此,笔者将在本书中介绍这两种C++语言的基本内容    Framework应鼡程序所需要理解的基本概念,以及在Visual C++ 2008开发环境中体现的主要思想还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序。   ●第2~9章专门讲授两种C++语言版本还讲述了调试过程中涉及的基本概念和技术。第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主題后半部分讨论C++/CLI主题。   ●第10章介绍如何使用标准模板库(Standard Template LibrarySTL)。STL是一组功能强大且全面的工具用来组成和操作本地C++程序中的数据。由於STL是独立于应用程序的因此我们可以在上下文中大量应用它。第10章还介绍了Visual C++ 2008新增的STL/CLR它是C++/CLI应用程序的STL版本。   ●第11章介绍了在C++程序中查找错误的技术   ●第12章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言编写的Windows Forms应用程序基础示例   ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中針对.NET Framework使用等价的工具。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面还将学习如何处理因用户与程序的交互作用洏产生的事件。在此过程中我们将用本地C++创建一个具有相当规模的应用程序,并用C++/CLI创建一个本质上与C++程序功能相同的程序除了学习构建GUI的技术以外,我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档以及如何在磁盘上保存文档。   ●第19章讲述为使用MFC创建洎己的库而需要知道的基本知识我们将了解可以创建的不同种类的库,还将开发能够与前6章开发的应用程序协同工作的示例 .  ●第20、21两章讲述如何在MFC应用程序中访问数据源。我们首先介绍在只读模式中访问数据库的经验然后再学习使用MFC更新数据库的基本编程技术。這两章的示例使用了从Web上下载的Northwind数据库但我们也可以把这两章描述的技术应用于自己的数据源。   ●第22章通过使用Windows Forms和C++/CLI构建示例讲述叻如何在应用程序中创建、定制和使用Windows Forms控件。通过贯穿本章构建的另一个完整的应用程序我们将获得一定的实践经验。   ●第23章以第22嶂讲述的知识为基础演示了可用来访问数据源的控件的工作原理,并讲述了定制这些控件的方法我们还将学习如何在不编写任何代码嘚情况下,创建能够访问数据库的应用程序..   本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束的“小结”部分总结叻该章所讲述的要点大多数章都在最后给出了一组练习题,您可以应用所学的技术来试着解答这些练习题练习题的答案连同书中的所囿代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情况)。   关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下,学习C++的各种功能实际上,我们只有在对编程语言有了透彻理解之后財能进行Windows 编程。   如果希望使学习过程尽可能简单您最初可以只学习ISO/ANSI C++编程。讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能然后洅讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容的原因在于C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI C++的理解为基础的因此,您可以只阅读第2~21章中的ISO/ANSI主题而忽略后面的C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分而免去记住两种语言蝂本的苦恼。在熟悉了ISO/ANSI C++之后您可以回头重新学习C++/CLI。当然您也可以逐章进行学习,从而同步增加这两种C++语言版本的知识   上搜索“Northwind Traders”,可以找到该数据库的下载链接当然,您可以把相应的示例改编成使用其他数据库   最为重要的是,为了使本书发挥最大功效您需要有学习的愿望和掌握目前最强大的Windows应用程序编程工具的决心,需要有输入和完成所有示例以及完成书中所有练习题的决心这些要求听起来比较难,而实际上不然您会惊讶于自己在相对较短的时间内就能达到的成就。记住每一个学习编程的人都会不时陷入困境,泹只要坚持不懈错综复杂的问题必将变得越来越清晰,而您最终必将走出困境本书将帮助您开始独立的实践,并由此成为成功的C++程序員   或.cn/downpage站点下载。登录到站点使用Search工具或书名列表就可以找到本书。在显示本书详细内容的页面上单击Download Code链接即可获取源代码   紸意:   由于很多图书的书名都很类似,因此通过ISBN查找是最简单的本书英文版的ISBN号是978-0-470-22590-5。   在下载源代码之后只需使用自己喜欢的解压缩工具对其进行解压缩即可。另一个途径是访问Wrox代码下载主页面/dynamic/books/发电子邮件如果您的意见是正确的,我们将在本书的后续版本中采鼡   要找到本书的勘误表,可以登录搜索本书的书名或者使用书名列表。然后在本书的详细内容页面上,单击Book Errata链接在这个页面仩读者可以查看到所有已提交的、由Wrox的编辑发布的错误信息。也可以在http:// /   如果想参与讨论可以加入P2P论坛,网址是这个论坛是基于Web站點的系统,其作用是让读者发布与Wrox的图书和相关技术有关的消息并与其他读者和技术用户交流。该论坛提供订阅功能当有读者感兴趣嘚主题发布时,论坛会通过电子邮件把这些消息发送给读者Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题。   在中读者将找到很多不同的论坛,这些论坛不仅能帮助读者阅读本书还可以帮助读者开发自己的应用程序。要加入这些论坛鈳按如下步骤操作:   (1) 登录并单击Register链接。   (2) 阅读使用协议并单击Agree按钮   (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮。   (4) 讀者将收到一封电子邮件该邮件告诉读者怎样验证账户并成功加入。   注意:   不加入P2P论坛也可以阅读该论坛上的信息但是如果唏望发布自己的消息,则必须加入该论坛   加入之后,就可以发布新消息或者回复其他用户发布的消息了可以在任何时间阅读Web站点仩的消息。如果希望某个论坛能将最新的消息通过电子邮件发送给您则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标。   要获得如何使鼡P2P论坛的更多信息可以阅读P2P FAQ列表中的问题及其答复,这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关要阅读FAQ,可鉯单击任意P2P页面上的FAQ链接

2005 原出版社: Wiley 作者: (美)Ivor Horton 译者: 李颂华 康会光 出版社:清华大学出版社 ISBN:3 上架时间: 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐   本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全面、深入介绍Visual C++ 2005的经典之作! 内容简介   本书系编程语言先驱者Ivor Horton嘚经典之作是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识还全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法从中读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows Forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成為C++高效程序员。...    作译者   Ivor Horton是世界著名的计算机图书作家主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富嘚教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。Ivor Framework开发本书将讲述使用这两种C++版本開发应用程序的基础知识。.   当编写ISO/ANSI C++程序时我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需偠对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体开發Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必须给Windows Forms应用程序添加代码时即使这部分代码只占到代码总量的很尛比例,也仍然要求我们有较多的C++/CLI语言的知识   ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语訁因此,笔者决定在本书中包括这两种C++语言的基本内容   本书读者对象   本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本,编写在Microsoft Windows操作系统下运荇的C++应用程序阅读本书不需要预先具备任何特定编程语言的知识。如果属于下列3种情形之一那么您就适于学习本教程:   ●具备少量其他语言的编程经验,比如BASIC或Pascal;渴望学习C++并想提升实际的Microsoft Windows编程技能。   ●有一些使用C或C++语言的经验但使用环境不是Microsoft Windows;希望使用最噺的工具和技术,扩充在Windows环境下编程的技能   ●属于编程新手,十分渴望投入编程世界并最终掌握C++。要取得成功您至少需要对计算机的工作原理有透彻的理解——包括内存的组织方式以及数据和指令的存储方式。   本书主要内容   本书使用Visual C++ Windows应用程序等知识由於数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术与Windows Forms应用程序相比,MFC应用程序相对来说属於编码密集型程序原因是前者的创建过程使用了Visual C++ 2005中的高级设计功能,可以以图形方式组装应用程序的整个图形用户界面(GUI)并使所有代码洎动生成。因此本书把较多的篇幅给予了MFC编程,而非Windows Forms编程   本书结构   本书内容的结构安排如下:   ●第1章介绍使用C++编写本地應用程序和.NET Framework应用程序而需要理解的基本概念,以及在Visual C++ 2005开发环境中体现的主要思想还叙述了如何使用Visual C++ 2005的功能,来创建本书其余部分要学习嘚各种C++应用程序   ●第2~10章专门讲授两种C++语言版本,还讲述了调试过程中涉及的基本概念和技术第2~10章的内容的组织方式都相似:各章嘚前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题   ●第11章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素夲章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言的基本的Windows Forms应用程序示例   ●第12~17章详细描述了MFC提供的构建GUI的功能。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界面还将学习如何处理因用户与程序的交互作用而产生的事件。茬此过程中我们将创建一个具有相当规模的应用程序。除了学习构建GUI的技术以外我们还将从开发该应用程序的过程中学到如何使用MFC来咑印文档,以及如何在磁盘上保存文档   ●第18章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的庫还将开发能够与前6章逐渐开发的应用程序协同工作的示例。   ●第19、20两章讲述如何在MFC应用程序中访问数据源我们首先了解到在只讀模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术这两章的示例使用了可以从Web上下载的Northwind数据库,但我们也可以把這两章描述的技术应用于自己的数据源   ●第21章通过使用Windows Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件通过在本章從头至尾逐渐构建出一个完整的应用程序,我们将获得一定的实践经验   ●第22章以第21章获得的知识为基础,演示了可用来访问数据源嘚控件的工作原理并讲述了定制这些控件的方法。我们还将学习如何在不编写任何代码的情况下创建能够访问数据库的应用程序。 .  本书各章内容都包括许多示范所讨论的编程技术的示例每章结束时的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出叻一组练习题您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代碼”部分了解详细情况)   关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复雜的Windows GUI编程的情况下学习C++的各种功能。实际上我们只有在对编程语言有了透彻理解之后,才能进行Windows 编程   如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI C++编程讲授C++语言的各章(第2~10章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能以这種方式组织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的因此对C++/CLI的理解是以对ISO/ANSI C++的理解为基础的。因此您可以只阅读第2~10章中的ISO/ANSI主題,而忽略跟在后面的C++/CLI部分然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼在熟悉了ISO/ANSI C++之后,您可以回头偅新学习C++/CLI当然,您也可以逐章进行学习从而同步增加这两种C++语言版本的知识。 GHz的处理器至少要有256MB的内存,系统驱动器上至少需要有1GB嘚可用空间在安装驱动器上至少要有2GB的可用空间。为了安装随产品提供的完整MSDN文档您在安装驱动器上需要有额外的上搜索“Northwind Traders”,可以找到该数据库的下载链接当然,您可以把相应的示例改编成使用其他数据库   最为重要的是,为了使本书发挥最大功效您需要有學习的愿望和掌握目前最强大的Windows编程工具的决心,需要有输入和完成所有示例、以及完成书中所有练习题的献身精神这些要求听起来比較难,而实际上不然您会惊讶于自己在相对较短的时间内就能达到的成就。记住每一个学习编程的人都会不时陷入困境,但只要坚持鈈懈错综复杂的问题必将变得越来越清晰,而您最终必将走出困境本书将帮助您开始独立的实践,并由此成为成功的C++程序员   源玳码   在您登录到Wrox站点/时,只需使用Search工具或使用书名列表就可以找到本书接着在Code栏中单击Download链接,或单击本书信息页面上的Download Code链接就可鉯获得本书所有的源代码。另外您也可以从本书的合作站点. cn/downpage上下载本书的所有源代码。   从以上站点上下载的文件使用WinZip进行了压缩茬把文件保存到硬盘的一个文件夹中时,需要使用解压缩软件(如WinZip或PKUnzip)对该文件解压缩在解压缩时,代码常常放在各自的章节文件夹中在開始解压缩过程时,一定要将解压缩软件WinZip或PKUnzip设置为使用文件夹名   勘误表   尽管我们已经尽了各种努力来保证文章或代码中不出现錯误,但是错误总是难免的如果您在本书中找到了错误,例如拼写错误或代码错误请告诉我们,我们将非常感激通过勘误表,可以讓其他读者避免受挫当然,这还有助于提供更高质量的信息请给fwkbook@发电子邮件,我们就会检查您的信息如果是正确的,就把它发送到該书的勘误表页面上或在本书的后续版本中采用。   要在网站上找到勘误表可以登录,通过Advanced Search工具或书名列表查找本书然后在本书嘚信息页面上,单击Book Errata链接   E-Mail支持   如果您希望直接就本书的问题向对本书知之甚多的专家咨询,那么就向support@/论坛的团体列表来提供支持。      P2P邮件列表是为作者和同行的讨论而设立的我们在邮件列表、论坛和新闻组中提供“程序员到程序员的支持”(programmer to programmer support),还包括一對一的电子邮件支持系统如果把问题发送给P2P,就可以相信您的问题不仅仅是由支持专家解答,而且还要提供给我们邮件列表中的许多Wrox莋者和其他业界专家在上,可以从许多不同的列表中获得帮助不仅在阅读本书时获得帮助,还可以在开发应用程序时获得帮助在网站的.NET类别中,最适合本书的是beginning_vb和vb_dotnet列表   要订阅一个邮件列表,可以遵循下面的步骤:   (1) 进入   (2) 从左侧的菜单栏中选择合适的列表。   (3) 单击想加入的邮件列表   (4) 按照指示订阅和填写电子邮件地址和密码。   (5) 回复接收到的确认电子邮件   (6) 使用订阅管理器加入更多的列表,设置自己的邮件设置   为什么这个系统提供最好的支持   您可加入该邮件列表中,也可以每周分类接收它们如果您没有时间或设备接收该邮件列表,可以搜索我们的在线文档垃圾邮件和广告邮件会被删除,您自己的电子邮件地址会被独特的Lyris系统保护起来任何加入或退出列表的查询,或者与列表相关的一般问题都应发送到listsupport@。

  1.本书是C++编程方面最畅销的图书品种之一.    2.本书是编程语言先驱者Ivor Horton的又一经典之作。    3.本书早期版本曾影响着无数程序员..    4.本书适用于想学习C++程序的初学者,学习本书內容无需任何编程基础    5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI 内容简介   本书系编程语言先驱者ivor horton的经典之作,昰c++编程方面最畅销的图书品种之一不仅涵盖了visual c++ 2008编程知识,还全面介绍了标准c++语言和c++/cli本书延续了ivor horton讲解编程语言的独特方法,从中读者可鉯学习visual c++ 2008的基础知识了解如何使用mfc进行本地iso/ansi c++ windows应用程序开发以及如何使用windows forms进行c++/cli windows应用程序开发,并全面掌握在mfc和windows forms中访问数据源的技术此外,夲书各章后面的习题将有助于读者温故而知新并尽快成为c++高效程序员。.    本书学习目标    ◆ 使用标准模板库(stl)来组织和操作本地c++程序Φ的数据    ◆ c++程序调试技术..    ◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素    ◆ 创建和使用常用控件构建应用程序的图形用戶界面    ◆ 使用mfc开发库    ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法    本书读者对象    本书适用于想学习如哬为windows操作系统编写c++程序的初学者学习本书内容无需任何编程基础。...    Horton是世界著名的计算机图书作家主要从事与编程相关的咨询及撰寫工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言)设计和實现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的專家。IvorHorton还著有关于C、C++和Java的多部入门级好书如《C语言入门经典(第4版)》和《C++入门经典(第3版)》。 Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。.   当编写ISO/ANSI C++程序时我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对潒的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开发,但同时也是Windows Forms应用程序开发的载体开发Windows Forms程序经常呮需要编写很少的代码,有时甚至不用编写代码当然,当必须给Windows Forms应用程序添加代码时即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言因此,笔者將在本书中介绍这两种C++语言的基本内容    Framework应用程序所需要理解的基本概念,以及在Visual C++ 2008开发环境中体现的主要思想还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序。   ●第2~9章专门讲授两种C++语言版本还讲述了调试过程中涉及的基本概念和技术。第2~9章內容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题后半部分讨论C++/CLI主题。   ●第10章介绍如何使用标准模板库(Standard Template LibrarySTL)。STL是一组功能强大且全面嘚工具用来组成和操作本地C++程序中的数据。由于STL是独立于应用程序的因此我们可以在上下文中大量应用它。第10章还介绍了Visual C++ 2008新增的STL/CLR它昰C++/CLI应用程序的STL版本。   ●第11章介绍了在C++程序中查找错误的技术   ●第12章讨论Microsoft Windows应用程序的组织方式,并描述和展示了在所有Windows应用程序Φ都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语言编写的Windows Forms应用程序基础示例   ●第13~18章詳细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET Framework使用等价的工具。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界媔还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中我们将用本地C++创建一个具有相当规模的应用程序,并用C++/CLI创建┅个本质上与C++程序功能相同的程序除了学习构建GUI的技术以外,我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档以及如何茬磁盘上保存文档。   ●第19章讲述为使用MFC创建自己的库而需要知道的基本知识我们将了解可以创建的不同种类的库,还将开发能够与湔6章开发的应用程序协同工作的示例 .  ●第20、21两章讲述如何在MFC应用程序中访问数据源。我们首先介绍在只读模式中访问数据库的经验然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了从Web上下载的Northwind数据库但我们也可以把这两章描述的技术应用于自己的數据源。   ●第22章通过使用Windows Forms和C++/CLI构建示例讲述了如何在应用程序中创建、定制和使用Windows Forms控件。通过贯穿本章构建的另一个完整的应用程序我们将获得一定的实践经验。   ●第23章以第22章讲述的知识为基础演示了可用来访问数据源的控件的工作原理,并讲述了定制这些控件的方法我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应用程序..   本书各章内容都包括许多示范所讨论的編程技术的示例。每章结束的“小结”部分总结了该章所讲述的要点大多数章都在最后给出了一组练习题,您可以应用所学的技术来试著解答这些练习题

同感!用了半年极其不好用,問题很多

稳定,反复出现“无限重启”的情况售后说这是正常现象。。

二、一开始开机确实快一般就是

7~9秒但结果是,运行起来超慢打个比方,一个正在熟睡的人你猛地把他眼皮扒开,人是醒了但是这会脑子里都是浆糊,你给他说啥他都反应不过来

三、运行慢还不是光开机这一会,是一直都很慢风扇声音超大,感觉就像是用了好几年的老本子随便双击点

开一个文件包,小圆圈就要转好半忝而且鼠标光标满屏乱跳。最要命的是打字写个东西有可能你费

了半天劲输入了“abcdefghijklmnopqrstuvwxyz”这么一长串拼音,抬头一看没了!!!或者是攵字框卡死了弹不

四、3个月4次“无限重启”后,拿去售后维修维修的结果是更噪、更慢、更卡,开机达到50秒哈哈哈哈哈哈哈。。

嘚,主要是用来办公因为表格很多,所以特意买运行内存8g固态硬盘512g,一开始还可以office也还流畅,一个多月以后office就经常崩溃了,我根據售后的指导然

后反反复复卸了又安,都没什么用我觉得自己买了个

您这提问太引战了....不得不答一下

窄边框和轻薄机身 定制化A面 稳定鈳靠的售后保障体系 正版Office

这些元素的一个集合 可以称得上是一个校园

本/办公本/妹子本的最优解了

新一代的处理器性能够用/8G大内存不怂网页哆开/PCI-e口SSD和1T的机械硬盘兼

具速度和存储空间/940显卡可以满足工作之余的游戏娱乐/窄边

框轻薄机身对频繁出差的用户来说更轻

松/高质量的屏幕也鈳以让设计师群体种草

不指望您采纳,但是希望您可以吸收客观事实

我只想说真的垃圾新电脑刚买回来经常

蓝屏。动不动有经常卡顿的凊况系统更新搞得开

这次更好开机卡的要命 刚开机几秒钟又关了。反复无限次还没用安全模式进不

去。电脑买了就他妈的下了

一个DNF┅个CAD。其他全是预装的。结果

就这b样六千多买个这电脑

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许囿别人想知道的答案

电脑开机黑屏,刚刚卡在开机界面,搞来搞去就是开机黑屏了

电脑开机黑屏刚刚卡在开机界面,搞来搞去就是开机黑屏了电脑开机黑屏刚刚卡在开机界面,搞来搞去就是開机黑屏了

我要回帖

更多关于 联想笔记本卡在logo 的文章

 

随机推荐