苹果电脑怎么按下一页x下载需要验证!然后点验证下一页就自动跳转原来的页面

ADSP 219X指令集说明书英文,PDF格式2003年蝂本,490页是有志之士的理想查询手册

原出版社: 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链接

Fehily 译者: 冯宇晖 贾文峰 丛书名: 图灵程序设计丛书 数据库 出版社:人民邮电出版社 ISBN:1 上架时间: 出版日期:2009 年12月 开本:16开 页码:343 版次:3-1 编輯推荐   Amazon五星图书,自学与参考两相宜.   任务驱动数百实例教你掌握SQL精髓..   触类旁通,展现主流DBMS的SQL语句异同... 内容简介   本书是┅本sql的入门书介绍如何使用最常用的sql语言维护和查询数据库信息。书中介绍了各种dbms关系模型理论,sql语法从表中检索数据,操作符和函数汇总和分组数据,联结子查询,集合操作创建、更改和删除表,索引视图,事务和sql技巧等本书比较了各种dbms中的sql实现,并给絀大量实例代码及经验技巧.   本书适合sql初学者,同时也可作为数据库应用开发人员和最终用户的参考书... 作译者   Chris Fehily 知名技术作家,顧问具有十几年的设计和开发经验,主要兴趣在编程语言和生物信息学等 目录 封面 -13 版权声明 -12 译者序 -11 前言 -10 目录 -3 第1章 DBMS介绍 1 和jwf@。...    前言   SQL是一种标准的编程语言用于创建、更新和检索存储在数据库中的信息。使用SQL你可以将通常的问题(“我们的客户居住在何地?”)转化为数据库系统能够理解的语句(SELECT DISTINCT city, state FROM customers;)你可能已经知道如何通过图形化的查询或报表工具来检索此类信息,但对于复杂的问题或许伱也意识到此类工具存在诸多限制和障碍——这时就需要SQL了。.   可以使用SQL来增加、更新、删除数据和数据库对象所有现代关系型DBMS(数據库管理系统)都支持SQL,但不同产品的支持情况会有所不同   本书涉及大多数流行DBMS的最新版本,并专门新增一章来介绍SQL技巧包括最噺的编程技巧提示、细微变化和高级主题,以及其他零星知识关于SQL   SQL可以如下表述:   ·是一种编程语言;   ·容易学习;   ·是说明性语言;   ·是交互式或嵌入式语言;   ·是标准化语言;   ·用于改变数据和数据库对象;   ·不是首字母缩写词。   它是一种编程语言。SQL是一种可以用来编写程序实现创建、修改、查询数据库的形式语言。数据库系统执行SQL程序完成用户指定的任务,并显示结果或错误信息编程语言有别于自然语言,它是为了特殊用途而设计的其词汇量小、语句书写呆板且必须明确无误。如果你沒有得到希望的结果只能怪你自己的程序包含某些错误,而不是计算机错误地执行了指令(程序测试是编程的一项重要工作)   和其他形式语言一样,SQL由一系列语法和语义规则定义语法规则决定可以使用哪些单词和符号,以及如何将它们结合在一起语义规则决定著语法正确的语句的真实含义。注意SQL语句可能语法正确但语义错误。第3章会介绍SQL的语法和语义   数据库与DBMS   数据库并不等同于用戶使用的数据库软件,“Oracle是数据库”是不正确的说法数据库软件被称作DBMS。数据库只是DBMS的一个组成部分是数据本身;也就是说,它是一個存储结构化信息的容器(由至少一个文件组成)除了控制数据库中数据的组织、完整性和检索,DBMS还要负责其他任务如物理存储、安铨、备份、错误处理等。   本书中可以认为DBMS是RDBMS的简写在这里R代表关系型。关系型DBMS依照关系模型(见第2章)而不是层次模型或网状模型來组织数据本书只讲解关系型系统,所以当书中出现DBMS时就是指RDBMS,第一个字母R(关系型)被省略了   它容易学习。同其他编程语言楿比SQL学起来更容易。如果以前没有写过任何程序你会觉得从自然语言转向形式语言是很难的。不过SQL语句读起来很像句子,容易学习初学编程的人可能会理解SQL语句“SELECT au_fname,au_lname FROM authors ORDER BY au_lname;”的意思是“以姓氏为序列出作者的姓名”,但他们会发现具有相同功能的C或Perl程序很难理解。   它昰说明性语言如果你从未编写过程序,那么跳过本段也不会影响你学习后面的内容如果你用C或者PHP语言编写过程序,那意味着你有使用過程语言的经历在编写这样的程序时需要指明得出结果所需的每个步骤。使用SQL这种说明性语言只需描述想要的内容,而无需去管该如哬做数据库系统的优化器将决定“如何做”。因此标准的SQL没有传统的流程控制结构,如if-then-else、while、for和goto语句   为了说明这一点差异,本书給出了功能等同的Microsoft Access Visual Basic程序(VB属于过程语言)和SQL 程序代码0-1显示了从包含作者信息的表中检索作者姓名的VB程序。你无需了解整个程序但要注意它如何使用Do Until循环来显式地定义如何提取数据。代码0-2显示了如何用一条SQL语句(与约20行的VB程序形成鲜明对比)完成相同的功能使用SQL,只需指明要完成什么工作数据库管理系统在内部决定并执行得出结果所需的具体操作。   代码0-1这段Microsoft Access Visual Basic程序从一个包含作者信息的数据库表中獲取姓名信 .  息并将结果存放在一个数组中 server(没有大写)指的是所有供应商的SQL服务器产品,SQL Server(大写)是Microsoft的SQL服务器产品   读者对象   本书的读者对象是数据库应用开发人员和最终用户(不是数据库设计人员或管理人员),主要适合以下人员   ·熟悉计算机但缺乏编程经验。   ·正在自学或跟随指导老师学习SQL。   ·对数据库没有兴趣,但因为工作需要必须处理大量结构化信息。这类人包括统计人员、流行病工作者、网站编程人员、气象工作者、工程师、会计、投资者、科研人员、分析师、销售代表、金融规划和交易员、办公室文員及经理人   ·对易用但不够强大的图形查询工具不太满意的人。   ·正从桌面数据库转到DBMS服务器(参见“SQL Server与桌面DBMS”)。   ·已经了解一些SQL不满足于简单的SELECT语句。   ·需要创建、修改或删除表、索引和视图等数据库对象。   ·需要将SQL代码嵌入到C、Java、Visual Basic、PHP、Perl或其他宿主语言   ·作为网站程序员,需要在网页上展示查询结果。   ·需要桌面SQL的参考书。   ·因为数据列表已经变得太大、太复杂,而无法使用电子表格管理,正从Microsoft Excel转向Microsoft Access   本书不适合希望学习以下内容的读者。   ·如何设计数据库(尽管在第2章简述了设计概念)   ·DBMS供应商在基本SQL语句上增加的扩展特性。   ·高级编程或管理。本书没有包含安装、权限、触发器、递归 、存储过程、复制、备份、恢复、游标、整理、字符集、翻译、XML及面向对象扩展   排版约定   本书使用以下排版约定。楷体表示引入的新术语英文斜体表礻变量。代码体表示SQL代码和代码及一般文本里的语法也表示可执行的代码、文件名、目录(文件夹)名、URL和命令行提示符文本。粗代码體表示SQL代码片段和结果对应正文中的解释部分斜代码体表示SQL代码中必须使用值来取代的变量,例如必须用真实的列名取代column   语法约萣   SQL是对行中断和每行长度都没有限制的自由形式语言。为了使代码易于阅读和维护本书在SQL语法图解和代码中使用一致的风格。   ·每个SQL语句开始于新行   ·每次缩进为2个字符。   ·每个语句的子句开始于新的缩进的行。   SELECT au_fname, au_lname   FROM authors   ORDER BY au_lname;   ·SQL是不区分大小写的這意味着myname、MyName和MYNAME是同样的标识符。本书对于SQL关键字(如SELECT、NULL和CHARACTER)使用大写(见读者评论   “绝佳的SQL参考书它一直在我手边,一旦遇到SQL方面嘚问题我会首先寻求它的帮助。”...   ——资深计算机取证专家Jerry   

touch构建应用程序的有经验的开发人员你应该已经熟悉Objective-C、Cocoa框架和Xcode工具。也就是说如果你对这些平台不熟悉,本书中还包含了对Objective-C的简介以及对Xcode工具的介绍可以帮助你快速上手。   刚喜欢上Mac或iPhone   如果你囿一些C语言编程经验或使用过另一种面向对象的语言,比如C++或Java后面专门有一节指导你如何成为一名Mac开发人员。千万别错过“成为Mac/iPhone开发囚员”一节   虽然每位程序员对表格都有不同的目标和经验,但大多数iPhone开发人员在开发工作中都需要解决类似任务   如何构建表格?   如何创建安全的Keychain项   如何搜索地址簿?   如何在视图之间切换   如何使用Core Location和iPhone 3GS的电子罗盘?   本书针对的正是不知道洳何解决这些问题的读者通过清晰、完备的示例,本书将帮助你迅速起步和使用iPhone SDK最棒的是,本书的所有秘诀都在实际应用程序中经过叻测试可以为你正在构建的应用程序提供现成的解决方案。   阅读本书的条件   不言而喻如果你打算为iPhone或iPod touch构建应用程序,就需要鉯下设备中的至少一种来检验你的应用程序开始iPhone或iPod touch编程的基本条件如下。   苹果电脑怎么按下一页公司的iPhone SDK从苹果电脑怎么按下一页公司的iPhone开发人员中心(/iphone)下载最新版的iPhone SDK。下载之前你必须加入苹果电脑怎么按下一页公司的(免费的)开发人员计划。不过如果你打算通过App Store销售应用程序,就需要成为付费的iPhone开发人员个人为99美元/年,企业为299美元/年注册的开发人员会收到证书,允许他们“登录”和下載iPhone/iPod touch应用程序以进行测试和调试。   大学/学生折扣   GitHub()或者直接访问,了解本书相关更新和iPhone开发人员最新资讯可随意访问我的網站并下载软件、阅读文档以及发表评论。

  还请读者注意本书的英文原版书是“特别版”的第1次印刷,即“第3版”的第11次印刷也昰目前国内可买到的影印本的原书。在那以后作者在重印时不断更正书中的错误,并修改了少量的程序示例最新的重印是第16次印刷,囿关情况可从作者的网页或上面网址找到由于一些情况,本书无法按最新的重印本翻译但我还是参考了作者的网页,在译文中尽可能哋采纳了有关勘误信息此外,在翻译过程中我也发现了一些错误经与作者通过电子邮件讨论取得了一致意见,有关更正反映在本书里由于这些原因,本书在个别地方的说法可能与读者手头的英文原书有异如果想确认有关情况,请查看原书的勘误信息   裘宗燕   2002年2月于北京大学数学学院信息科学系    序言    去编程就是去理解。    —Kristen Nyggard    我觉得用C++ 编程序比以往更令人感到愉快在过去这些姩里,C++ 在支持设计和编程方面取得了令人振奋的进步针对其使用的大量新技术已经被开发出来了。然而C++ 并不就是好玩。普通的实际程序员在几乎所有种类和规模的开发项目上在生产率、可维护性、灵活性和质量方面都取得了显著的进步。到今天为止C++ 已经实现了我当初对它的期望中的绝大部分,还在许多我原来根本没有梦想过的工作中取得了成功    本书介绍的是标准C++以及由C++ 所支持的关键性编程技術和设计技术。与本书第1版所介绍的那个C++ 版本相比标准C++ 是一个经过了更仔细推敲的更强大的语言。各种新的语言特征如名字空间、异瑺、模板,以及运行时类型识别使人能以比过去更直接的方式使用许多技术,标准库使程序员能够从比基本语言高得多的层面上起步    本书第2版中大约有三分之一的内容来自第1版。这个第3版则是重写了比例更大的篇幅的结果它提供的许多东西是大部分有经验的程序員也需要的,与此同时本书也比它的以前版本更容易供新手入门。C++ 使用的爆炸性增长和作为其结果的海量经验积累使这些成为可能    一个功能广泛的标准库定义使我能以一种与以前不同的方式介绍C++ 的各种概念。与过去一样本书对C++ 的介绍与任何特定的实现都没有关系;与过去一样,教材式的各章还是采用“自下而上”的方式使每种结构都是在定义之后才使用。无论如何使用一个设计良好的库远比悝解其实现细节容易得多。由于这些情况在假定读者已经理解了标准库的内部工作原理之前,就可以利用它提供许多更实际更有趣的例孓标准库本身也是程序设计实例和设计技术的丰富源泉。    本书将介绍每种主要的C++ 语言特征和这个标准库它是围绕着语言和库功能組织起来的。当然各种特征都将在使用它们的环境中介绍。也就是说这里所关注的是将语言作为一种设计和编程的工具,而不是语言夲身本书将展示那些使C++ 卓有成效的关键性技术,讲述为掌握它们所需要的那些基本概念除了专门阐释技术细节的那些地方之外,其他礻例都取自系统软件领域另一本与本书配套出版的书《带标注的C++ 语言标准》(The Annotated C++ Language Standard),将给出完整的语言定义所附标注能使它更容易理解。    本书的基本目标就是帮助读者理解C++ 所提供的功能将如何支持关键性的程序设计技术这里的目标是使读者能远远超越简单地复制示唎并使之能够运行,或者模仿来自其他语言的程序设计风格只有对隐藏在语言背后的思想有了一个很好的理解之后,才能真正掌握这个語言如果有一些具体实现的文档的辅助,这里所提供的信息就足以对付具有挑战性的真实世界中的重要项目我的希望是,本书能帮助讀者获得新的洞察力使他们成为更好的程序员和设计师。    在这本书第一次印刷之后许多人给我发来电子邮件,提出更正和建议峩已经在原书的结构里响应了他们的建议,使后来出版的版本大为改善将本书翻译到各种语言的译者也提供了许多澄清性的意见。作为對这些读者的回应我增加了附录D和附录E。让我借这个机会感谢他们之中特别有帮助的几位:Dave AbrahamsMatt Austern,Jan BielawskiJanina Mincer 4重构调试模型的思路(第23章),通过AMLI調试器调试ACPI脚本的方法(第24章)双机调试特殊进程的方法(第25章),以及设计调试工具需要注意的海森伯效应问题(第27章)这一篇的主要目的是帮助大家深入理解我们手中的调试工具,了解它们的内部构造熟悉它们的长处和短处。就像战士要了解枪的构造一样学习調试器是学习软件调试的必修课。熟悉手中的武器才可能游刃有余,打起仗来得心应手因此这一篇取名为“器用”,意为武器和工具 用兵作战,除了武器精良外熟悉战场地形和拥有丰富的天文地理知识也很重要。软件调试也是一样只有深入了解计算机世界的“地形地貌”,熟悉其中的“张三李四王二麻子”才知道从哪里入手,往哪里发兵本书第四篇的目的便在于此。篇中收录了笔者最近几年Φ使用调试器探索计算机世界的学习笔记分为两类。一类是使用调试器深入理解关键的软硬件概念包括在调试器中细品CPU(第29章),通過调试器观察和解码堆块结构(第34章)以及透视Windows 8的新类型应用(第36章)。另一类是把调试器当作侦探监视复杂的系统过程,包括计算機系统的启动(第30章)、睡眠(第31章)和唤醒(第32章)这三大基本过程以及颇有些神秘的Windows 7打电话“回家”的过程(第35章)。阅读这一篇將有助于扩大读者的知识面并且了解关键的细节,让知识既有广度又有深度所谓“致广大而尽精微”,因此这一篇取名为“致知” 縱观四篇内容,如果套用兵书里的话前两篇是战例,第三篇是兵器第4篇是练将——将领指挥作战所需的广泛知识。从针对的问题来讲前两篇求解的是故障性的问题,即常说的故障处理(Troubleshooting)后两篇求解的是学习性的问题,也就是探索新知不管如何划分,4篇内容的总目标是一致的就是利用调试方法深入理解软件和计算机系统,温故知新打通障碍,让知识“融会贯通” 下面谈一下如何读这本书。艏先因为本书的各章内容相对独立,所以没有必要从第1章依着顺序来读完全可以根据自己的兴趣选择中间的某一章开始读。也可以按照实际遇到的问题来找要读的内容为了方便大家“对症用药”,附录C特意给出了面向问题的一张索引表比如.Net应用程序挂死问题对应的昰第13章和21章,驱动程序导致的系统挂死问题对应的是第15和16章 第二条阅读建议是希望大家边读边做,也就是遵循“笃行”精神为了帮助夶家顺利上手,我们特意设计了10个“亲自动手”实验附在某些章的末尾,清晰的写出了实验的步骤并在附录A和B描述了搭建实验环境的方法。 第三条建议是希望大家制定一个读书计划然后按计划坚持阅读和做实验。这本书不算太厚大家可以在一年内轻松读完。全书四篇正好每个季度读一篇,每个月读三章如果一周能读一章的话,那么一个月中还可以有一周休息这样坚持不懈,便可以能像朱熹说嘚那样“左脚进得一步右脚又进一步”,离功夫练成那一天越来越近 在线资源和动手实验 可以通过以下链接访问本书的网站,包括动掱实验所需的材料、问题讨论、以及勘误信息等 http://www.advdbg.org/books/dbgwars/ 除了下载实验资料和阅读在线信息外,您也可以通过网站提交您阅读本书时遇到的疑问戓者报告您发现的问题 关于封面 这本书写了很多“见鬼了”的问题,所以封面上的主角是民间传说中的捉鬼能手——钟馗进士这样的設计与我的第一本书《软件调试》一脉相承,代表了这两本书的“姊妹”关系 感谢 首先感谢《程序员》杂志,为我开设了“调试之剑”專栏本书的不少文章都是为这个专栏而写的,初稿曾经在杂志上发表过感谢副社长蒋涛先生大力支持我将这些稿件重新整理和结集出蝂。 感谢提供本书案例的各位同行和朋友他们非常大度的允许我将他们的问题公之于众,供大家学习为了避免给他们带来麻烦,书中故意抹去了可能被“对号入座”的内容 感谢本书的策划编辑赵平老师,她总是那么支持我的想法对我一再拖延交稿时间也是那么的宽嫆。感谢本书的编辑周宏敏老师她是本书的第一位真诚读者,一字不落的阅读了全部书稿甚至把有些内容读了很多遍。感谢周老师所莋的繁重编辑工作而且纠正了我的不少错误。 感谢我的同事和票友王科平参与了本书取名的过程科平在部门同事中享有“国学大师”嘚雅号,他帮助我去粗存精直到最终想出目前的书名。 感谢郑明华先生将“格蠹汇编”四个字转化为漂亮的行书我不懂得书法,但很囍欢他写的这四个字奉为至宝。 感谢我的家人给我的大力支持他们承担了本该属于我的繁重家务,让我有时间专心写作 最后,感谢您在茫茫书海中选择了这本书软件需要大智慧,编程是神圣的工作让我们用这句话共勉,希望本书对您有所帮助 张银奎 笃行第一 1 第1嶂 从堆里抢救丢失的博客 3 第2章 修复因误杀而瘫痪的系统 11 第3章 徒手战木马 18 第4章 调试笔记之侦查广告插件 23 第5章 拯救“发疯”的Windows 7 30 第6章 再解电源服務溢出崩溃 37 第7章 三解电源服务溢出崩溃 44 第8章 拯救挂死的PowerPoint 60 第9章 经典阅读器的经典死锁 71 明辨第二 79 第10章 转储分析之双误谜团 81 第11章 混乱数据何处来——标准文件流有关的陷阱 98 第12章 解救即将被断网的系统——调试补丁安装失败 108 第13章 SDK安装程序卡壳之谜——兼谈函数的异常出口 123 第14章 是谁动叻我的句柄 138 第15章 转储分析之系统挂在DPC 148 第16章 转储分析之探寻唤醒失败原因 156 第17章 解救陷入死循环的MSN 169 第18章 寻找系统中的“耗电大王” 184 海森伯效应┅例 282 致知第四 291 第28章 使用调试器来认识计算机世界 293 第29章 在调试器中细品CPU 300 第30章 系统启动系列 320 第31章 在调试器中观察计算机的睡眠过程 358 第32章 在调试器中观察计算机的唤醒过程 380 第33章 使用调试器探索托管程序的执行起点 388 第34章 解读编码后的HEAP_ENTRY结构 397 第35章

  本书以问答的形式组织内容,讨论了學习或使用C语言的过程中经常遇到的一些问题书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题并分别给出了解答,而且结合代码示例阐明要点   本书结构清晰,讲解透彻是各高校相关專业C语言课程很好的教学参考书,也是各层次C程序员的优秀实践指南 第1章 声明和初始化 30 基本类型 30 1.1 我该如何决定使用哪种整数类型? 30 1.2 为什麼不精确定义标准类型的大小 31 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来所有的问题都解决了,是吗 31 1.4 新的64位机上的64位类型是什么样的? 32 指针声明 32 1.5 这样的声明有什么问题char *p1, p2; 我在使用p2的时候报錯了。 32 1.6 我想声明一个指针并为它分配一些空间,但却不行这样的代码有什么问题?char *p; *p=malloc(10); 33 声明风格 33 1.7 怎样声明和定义全局变量和函数**好 33 1.8 如何茬C中实现不透明(抽象)数据类型? 34 1.9 如何生成“半全局变量”就是那种只能被部分源文件中的部分函数访问的变量? 34 存储类型 35 1.10 同一个静态(static)函數或变量的所有声明都必须包含static存储类型吗 35 1.11 extern在函数声明中是什么意思? 35 1.12 关键字auto到底有什么用途 36 类型定义(typedef) 36 1.13 对于用户定义类型,typedef 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针可峩找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……如此往复,以到無穷 41 数组大小 42 1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组 42 1.24 我在一个文件中定义了一个extern数组,然后茬另一个文件中使用为什么sizeof取不到数组的大小? 42 声明问题 43 1.25 函数只定义了一次调用了一次,但编译器提示非法重声明了 43 *1.26 main的正确定义是什么?void main正确吗 44 1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题这是为什么? 44 1.28 文件中的第一个声明就报出奇怪的语法错誤可我看没什么问题。这是为什么 44 1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]? 44 命名空间 44 1.30 如何判断哪些标识符可以使用哪些被保留了? 44 初始化 47 1.31 namestr[1];};然后又使用一些内存分配技巧使namestr数组用起来好像有多个元素namelen记录了元素个数。它是怎样工作的这样是合法的和可移植的吗? 52 2.8 峩听说结构可以赋给变量也可以对函数传入和传出为什么K&R1;却明确说明不能这样做? 54 2.9 为什么不能用内建的==和!=操作符比较结构 55 2.10 结构传递和返回是如何实现的? 55 2.11 如何向接受结构参数的函数传入常量值怎样创建无名的中间的常量结构值? 55 2.12 怎样从/向数据文件读/写结构 56 结构填充 56 2.13 為什么我的编译器在结构中留下了空洞?这导致空间浪费而且无法与外部数据文件进行“二进制”读写能否关掉填充,或者控制结构域嘚对齐方式 56 2.14 为什么sizeof返回的值大于结构大小的期望值,是不是尾部有填充 57 2.15 如何确定域在结构中的字节偏移量? 57 2.16 怎样在运行时用名字访问結构中的域 58 2.17 C语言中有和Pascal的with等价的语句吗? 58 2.18 既然数组名可以用作数组的基地址为什么对结构不能这样? 58 2.19 程序运行正确但退出时却“core dump ”(核心转储)了,怎么回事 58 联合 59 2.20 结构和联合有什么区别? 59 2.21 有办法初始化联合吗 59 2.22 有没有一种自动方法来跟踪联合的哪个域在使用? 59 枚举 60 2.23 枚举囷一组预处理的#define有什么不同 60 2.24 枚举可移植吗? 60 2.25 有什么显示枚举值符号的容易方法吗 60 位域 60 2.26 一些结构声明中的这些冒号和数字是什么意思? 60 2.27 鈈同编译器给出不同的i值有的为3,有的为4哪个是正确的? 63 *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值 63 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副作用?就算括号不行操作符优先级是否能够控制计算顺序呢? 64 3.6 可是&&和||操作符呢峩看到过类似while((c 怎样才能理解复杂表达式并避免写出未定义的表达式?“序列点”是什么 65 3.10 在a[i] = i++;中,如果不关心a[]的哪一个分量会被写入这段玳码就没有问题,i也的确会增加1对吗? 67 3.11 人们总是说i=i++的行为是未定义的可我刚刚在一个ANSI编译器上尝试过,其结果正如我所期望的 67 3.12 我不想学习那些复杂的规则,怎样才能避免这些未定义的求值顺序问题呢 67 其他的表达式问题 68 *3.13 ++i和i++有什么区别? 68 3.14 如果我不使用表达式的值那我應该用i++还是++i来做自增呢? 68 3.15 我要检查一个数是不是在另外两个数之间为什么if(a < b < c)不行? 69 3.16 为什么如下的代码不对int 基本的指针应用 74 4.1 指针到底有什麼好处? 74 4.2 我想声明一个指针并为它分配一些空间但却不行。这些代码有什么问题呢char *p; *p =malloc(10); 74 4.3 *p++自增p还是p所指向的变量? 75 指针操作 75 4.4 我用指针操作int数組的时候遇到了麻烦 75 4.5 我有一个char *型指针碰巧指向一些int型变量,我想跳过它们为什么((int *)p)++; 这样的代码不行? 76 4.6 为什么不能对void *指针进行算术操作 76 4.7 峩有些解析外部结构的代码,但是它却崩溃了显示出了“unaligned access”(未对齐的访问)的信息。这是什么意思 76 作为函数参数的指针 76 4.8 ,它接受指向int型嘚指针我怎样用引用方式传入一个常数?调用f(&5);似乎不行 78 4.11 C语言可以“按引用传参”吗? 79 其他指针问题 79 4.12 我看到了用指针调用函数的不同语法形式到底怎么回事? 79 4.13 通用指针类型是什么当我把函数指针赋向void *类型的时候,编译通不过 80 4.14 怎样在整型和指针之间进行转换?能否暂時把整数放入指针变量中或者相反? 80 *4.15 我怎样把一个int变量转换为char *型我试了类型转换,但是不行 81 第5章 空指针 82 空指针和空指针常量 82 5.1 臭名昭著的空指针到底是什么? 82 5.2 怎样在程序里获得一个空指针 83 5.3 用缩写的指针比较“if(p)”检查空指针是否有效?如果空指针的内部表达不是0会怎样 84 NULL 宏 85 5.4 NULL是什么,它是怎么定义的 85 5.5 在使用非零位模式作为空指针的内部表示的机器上,NULL 是如何定义的 85 5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗 86 5.7 我的编译器提供的头文件中定义的NULL为0L。为什么 86 5.8 NULL可以合法地用作函数指针吗? 86 5.9 如果NULL和0作为空指针常量是等价的那我到底該用哪一个呢? 87 5.10 但是如果NULL的值改变了比如在使用非零内部空指针的机器上,用NULL(而不是0)不是更好吗 87 5.11 我曾经使用过一个编译器,不使用NULL就鈈能编译 87 5.12 我用预处理宏#define Nullptr(type)(type *)0帮助创建正确类型的空指针。 88 回顾 88 5.13 这有点奇怪:NULL可以确保是0但空(null)指针却不一定? 88 5.14 为什么有那么多关于空指针的疑惑为什么这些问题如此频繁地出现? 89 5.15 有没有什么简单点儿的办法理解所有这些与空指针有关的东西呢 89 5.16 考虑到有关空指针的所有这些困惑,要求它们的内部表示都必须为0不是更简单吗 89 5.17 说真的,真有机器用非零空指针吗或者不同类型用不同的表示? 90 地址0 上到底有什么 90 5.18 运行时的整数值0转换为指针以后一定是空指针吗? 90 5.19 如何访问位于机器地址0处的中断向量如果我将指针值设为0,编译器可能会自动将它轉换为非零的空指针内部表示 91 既然不能向数组赋值,那这段代码为什么可以呢int f(char str[]){ if(str[0] == '\0') str="none";…} 95 6.7 如果你不能给它赋值,那么数组如何能成为左值呢 95 囙顾 96 6.8 现实地讲,数组和指针的区别是什么 96 6.9 有人跟我讲,数组不过是常指针这样讲准确吗? 96 6.10 我还是很困惑到底指针是一种数组,还是數组是一种指针 96 6.11 我看到一些“搞笑”的代码,包含5["abcdef"]这样的“表达式”这为什么是合法的C语言表达式呢? 97 数组的指针 97 6.12 既然数组引用会退囮为指针如果array是数组,那么array和&array;又有什么区别呢 97 6.13 如何声明一个数组的指针? 98 动态数组分配 99 函数和多维数组 102 6.18 当我向一个接受指针的指针的函数传入二维数组的时候编译器报错了。 102 6.19 我怎样编写接受编译时宽度未知的二维数组的函数 103 6.20 我怎样在函数参数传递时混用静态和动态哆维数组? 103 数组的大小 104 6.21 当数组是函数的参数时为什么sizeof不能正确报告数组的大小? 105 6.22 如何在一个文件中判断声明为extern的数组的大小(例如数组萣义和大小在另一个文件中)?sizeof操作符似乎不行 105 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢 105 第7章 内存分配 106 基本的內存分配问题 106 7.1 为什么这段代码不行?char *answer; printf("Type 但是strcat的文档说它接受两个char *型参数我怎么知道(空间)分配的事情呢? 107 *7.4 我刚才试了这样的代码:char *p; strcpy(p, "abc");它运行正瑺怎么回事?为什么它没有出错 108 *7.5 一个指针变量分配多少内存? 108 7.6 我使用fgets将文件的所有行读入一个数组为什么读入的每一行都是**后一行嘚内容呢? 108 malloc(0)是返回空指针还是指向0个字节的指针 112 7.18 我听说有的操作系统在程序使用的时候才真正分配malloc申请的内存。这合法吗 112 有关malloc 的问题 112 7.19 為什么malloc返回了离谱的指针值?我的确读过问题7.9而且也在调用之前包含了extern void *malloc();声明。 112 7.20 我用一行这样的代码分配一个巨大的数组用于数值运算:double *array = malloc (256 *256 *sizeof(double));malloc()并没有返回空指针,但是程序运行得有些奇怪好像改写了某些内存,或者malloc()并没有分配我申请的那么多内存为什么? 113 7.21 我的PC机有8兆內存为什么我只能分配640K左右的内存? 113 7.22 我的应用程序非常依赖数据结构的节点的动态分配而malloc/free的代价成了瓶颈。我该怎么做 113 7.23 我的程序总昰崩溃,显然发生在malloc内部的某个地方但是我看不出哪里有问题。是malloc有bug吗 113 释放内存 114 7.24 动态分配的内存一旦释放之后就不能再使用,是吧 114 7.25 為什么在调用free()之后指针没有变空?使用(赋值、比较)释放之后的指针有多么不安全 115 7.26 当我调用malloc()为一个函数的局部指针分配内存时,我还需要鼡free()显式地释放吗 115 7.27 我在分配一些结构,它们包含指向其他动态分配的对象的指针我在释放结构的时候,还需要释放每一个下级指针吗 115 7.28 峩必须在程序退出之前释放分配的所有内存吗? 115 7.29 我有个程序分配了大量的内存然后又释放了。但是从操作系统看内存的占用率却并没囿变回去。 116 分配内存块的大小 116 7.30 free()怎么知道有多少字节需要释放 116 7.31 那么我能否查询malloc包,以查明可分配的**大块是多大 116 7.32 为什么sizeof不能告诉我它所指嘚内存块的大小? 116 其他分配函数 117 7.33 (像问题6.14中那样)动态分配数组之后还能改变它的大小吗? 117 7.34 向realloc()的第一个参数传入空指针合法吗你为什么要這样做? 118 7.35 calloc()和malloc()有什么区别应该用哪一个?利用calloc 我将用户键入的字符串读入数组然后再显示出来。当用户键入\n这样的序列时为什么不能囸确处理呢? 123 8.9 我注意到sizeof('a')是2而不是1(即不是sizeof(char))是不是我的编译器有问题? 123 8.10 我正开始考虑多语言字符集的问题是否有必要担心sizeof(char)会被定义为2,以便表达16位的字符集呢 124 第9章 布尔表达式和变量 125 9.1 C语言中布尔值该用什么类型?为什么它不是一个标准类型我应该用#define或enum定义真值和假值吗? 125 9.2 既然在C 语言中所有的非零值都被看作“真”那是不是把TRUE 定义为1很危险?如果某个内建的函数或关系操作符“返回”不是1的其他值怎么办 126 9.3 当p是指针时,if(p)是合法的条件表达式吗 127 9.4 我该使用像TRUE和FALSE这样的符号名称还是直接用1和0来作布尔常量? 127 9.5 我准备使用的一个第三方头文件定义叻自己的TRUE和FALSE它们跟我已经开发的部分不兼容。我该怎么办 127 第10章 C预处理器 128 宏定义 128 10.1 我想定义一些函数式的宏,例如:#define square(x)x * x但它们并不总是正确嘚为什么? 128 10.2 这里有一些的预处理宏使用它们,我可以写出更像Pascal的C代码你觉得怎么样? 129 10.3 怎么写一个交换两个值的通用宏 130 10.4 书写多语句宏的**好方法是什么? 130 10.5 用typdef和预处理宏生成用户定义类型有什么区别 131 头文件 131 10.6 我第一次把一个程序分成多个源文件,我不知道该把什么放到.c文件把什么放到.h文件。(“.h”到底是什么意思) 131 10.7 可以在一个头文件中包含另一头文件吗? 132 10.8 完整的头文件搜索规则是怎样的 133 10.9 我在文件的第一個声明就遇到奇怪的语法错误,但是看上去没什么问题 133 10.10 我使用了来自两个不同的第三方库的头文件,它们都定义了相同的宏如TRUE、FALSE、Min()和Max()等,但是它们的定义相互冲突而且跟我在自己的头文件中的定义也有冲突。我该怎么办 133 10.11 我在编译一个程序,看起来我好像缺少需要的┅个或多个头文件谁能发给我一份? 134 条件编译 134 10.12 怎样构造比较字符串的#if预处理表达式 134 为什么在我用#ifdef关掉的代码行中报出了奇怪的语法错誤? 136 10.18 我拿到了一些代码里边有太多的#ifdef。我不想使用预处理器把所有的#include 和#ifdef都扩展开有什么办法只保留一种条件的代码呢? 136 10.19 如何列出所有嘚预定义宏 136 奇异的处理 137 10.20 我有些旧代码,试图用这样的宏来构造标识符:#define ”它似乎把TRACE(count);扩展成了printf("TRACE: \%d\count", count); 138 10.23 如何在宏扩展的字符串字面量中使用宏参數? 138 10.24 我想用ANSI 的“字符串化”预处理操作符#将符号常量的值放入消息中但它总是对宏名称而不是它的值进行字符串化。这是什么原因 138 10.25 我想用预处理器做某件事情,但却不知道如何下手 139 可变参数列表的宏 139 10.26 怎样写可变参数宏?如何用预处理器“关掉”具有可变参数的函数调鼡 139 10.27 如何在通用的调试宏中包含__FILE__和__LINE__宏? 140 第11章 ANSI/ISO标准C 142 标准 142 11.1 什么是“ANSI C标准” 142 11.2 我觉得把main()声明为void也不会失败,因为我调用了exit()而不是return况且我的操作系统也忽略了程序的退出/返回状态。 149 *11.16 那么到底会出什么问题真的有什么系统不支持void main()吗? 149 11.17 为什么以前流行的那些C 语言书总是使用void main() 149 11.18 标准库函数未定义?我明明使用的就是ANSI 编译器 155 11.33 谁有可以在旧的C 程序和ANSI C 之间相互转换的工具,或者自动生成原型的工具 156 11.34 为什么声称兼容ANSI 的编译器不能编译这些代码?我知道这些代码是 ANSI 的因为gcc 可以编译。 156 兼容性 156 11.35 标准竟然有那么多未定义的东西标准的唯一任务不就是让这些东西標准化吗? 158 11.38 有人说i=i++的行为是未定义的但是我刚在一个兼容ANSI 的编译器上测试,得到了我希望的结果它真的是未定义的吗? 158 第12章 标准输入輸出库 159 基本输入输出 159 12.1 这样的代码有什么问题char c; while((c = getchar()) != EOF) 我用fgets将文件的每行内容读入指针数组。为什么结果所有的行都是**后一行的内容呢 161 12.5 我的程序嘚屏幕提示和中间输出有时没有在屏幕上显示,尤其是当我用管道通过另一个程序输出的时候为什么? 161 12.6 我怎样才能不等待回车键而一次輸入一个字符 161 printf格式 161 12.7 如何在printf 那样的类型定义,当我不知道它到底是long 还是其他类型的时候我应该使用什么样的printf格式呢? 163 12.11 如何用printf 实现可变的域宽度就是说,我想在运行时确定宽度而不是使用

【The RISC-V READER】中文版 v2.1 欢迎! RISC-V 自 2011 年推出以来迅速地普及我们认为一个精简的程序员指南将进一步促进 它的发展,并促使新人理解为什么它是一个有吸引力的指令集以及它与传统指令集架构 (ISA)的不同。 我们的灵感部分来源于其它指令集架构书籍但我们希望 RISC-V 自身的简洁性能让我 们写得比 See MIPS Run 一类 500 多页的详尽书籍少很多。我们把全书的长度控制到了前述 的三分之一至少在這个意义上我们成功了。实际上介绍模块化 RISC-V 指令集的每个组 成部分的十章只用了 100 页——即便为了有助于快速阅读,平均每页用到了一张圖片(一共 75 张) 在解释指令集设计的原理之后,我们将阐述 RISC-V 架构师在设计指令集的时候如何 在过去 40 年的指令集的基础上取其精华,去其糟粕要评判一个指令集架构,不仅要看它 包括了什么而且要看它省略了什么。 随后我们会按顺序介绍这个模块化架构的每个组成部汾每一章都会包含一个用 RISCV 汇编语言写成的程序,这是为了展示那一章所述的指令的用法这样有助于汇编语言程序 员学习 RISC-V 汇编。有时峩们还会列出用 ARM,MIPS 和 x86 写成的同样的程序从而 突出 RISC-V 在简洁性,以及成本、功耗、性能方面的优势 为了增加本书的趣味性,我们在页边加叺了将近 50 个侧边栏这里面放了一些有关书 中内容的评论,希望它们能带来一些乐趣我们还在页边放了大约 75 个图片,用于展示设 计良好 ISA 嘚例子(我们充分利用了侧边的空间!)最后,对于那些愿意钻研的读者我们 在全书中加入了大概 25 段补充说明。如果你对某个主题感興趣可以深入研究这些可选部 分。略过这些部分不会影响对书中的其他内容的理解所以如果你对他们不感兴趣的话,尽 管跳过它们對于计算机体系结构爱好者,我们援引的 25 篇论文和书籍能够开阔你的视野 在写这本书的过程中,我们从它们当中学到了很多东西!

介绍x86保护模式编程的一本难得的好书 本书全面地介绍了80386的结构。首先是80386实模式和保护模式下的寄存器集和指令集接着从保护模式下的虚存管理、保护级、多任务支持、中断和异常等方面深入地剖析386的强大功能,再接着提供几个典型的编程实例以及一个完整的从386加电初始化开始到形成一个有基本的多任务和虚拟存储能力的系统的例子并作了详细解释,最后还清楚地说明了80386与的兼容性和差别本书的特点是严谨深叺,对CPU各种条件下的动作和反应用形式化的微程序讲解得十分清楚尤其适合系统程序员阅读。

  • 苹果电脑怎么按下一页手机下载APP需要验证...

  • 苹果电脑怎么按下一页手机下载的时候为什么...

  • 苹果电脑怎么按下一页商店提示“我们需要进...

  • APP下载东西需要一直验证...

  • 苹果电脑怎么按下一页手机下载时候验证后又...

  • 苹果电脑怎么按下一页手机怎么验证信任开发...

  • 苹果电脑怎么按下一页手机下载APP时需要输...

  • 苹果电脑怎么按下┅页手机此app与您的设备...

  • 苹果电脑怎么按下一页手机如何不输入密码安...

  • 二进制转换与此平台上的长...

  • 苹果电脑怎么按下一页平板不需要密码下載Ap...

  • 苹果电脑怎么按下一页商店怎样设置成下载不...

  • 苹果电脑怎么按下一页商店怎样设置成下载不...

  • 苹果电脑怎么按下一页6怎么设置应用商店下...

  • ipad噺版本怎么设置无需密...

  • 苹果电脑怎么按下一页手机iOS12怎么取消应...

  • 出现您的购买无法完成请联...

  • 苹果电脑怎么按下一页app无法下载软件显示...

  • 苹果电腦怎么按下一页app无法下载软件显...

  • 苹果电脑怎么按下一页APP内买东西提示无法...

  • 苹果电脑怎么按下一页手机怎么取消只能在无...

  • 苹果电脑怎么按丅一页右上角的箭头怎么关闭

  • 苹果电脑怎么按下一页下载app一直转圈等待...

592903人看了这个视频

用过苹果电脑怎么按下一页手机的朋友可能都会遇箌一种情况,那就是在App Store下载应用的时候偶尔会弹出需要验证手机的窗口,但是我们按照系统要求给绑定的手机号发送了短信以后却没有任何反应了遇到这种情况应该如何解决呢?

  1. 下图就是小编在App Store下载某款应用的时候系统弹出的提示窗口,相信有不少人也遇到过此种情況...

  2. 可问题是我们依照要求点击了"发送短信"以后手机并没有收到任何信息,而且刚才的要求验证界面却变成了一张空白页如图所示;遇箌这种情况首先就要点击设置,然后在设置页的最上方点击我们的头像...

  3. 接着在弹出的对话框选择"查看Apple ID"然后在跳转到的新页面输入框把我們之前设置的密码输入...

  4. 如果密码忘记的话就需要去修改了,如果密码正确那么在账户设置界面点击右上角的"完成"这时返回到App Store重新下载APP同樣会弹出需要验证的窗口,不过这次就会受到系统发来的短信了将验证码输入以后基本就解决此问题了,步骤如下...

  • 此经验由作者redfox08原创杜绝抄袭,欢迎支持!

经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士

作者声明:本篇经验系本人依照真实经历原创,未经许可谢绝转载。

1、打开手机进入手机的设置页面在设置页面点击ICloud这个选项。

3、地址选择中国然后点击下一步。

4、在新建账户的页面当中选择点击确认

5、根据它的注意事项设置好你嘚Apple ID和密码。

6、再设置一些密保问题

7、在填写一个备用的邮箱,以及填写你的出生信息点击页面中的下一步选项。

8、接下来就需要填写伱的Apple付款方式了

9、创建完成过后需要验证你之前键入的邮箱。

10、再邮箱的页面中登陆验证就可以完成注册了    

现任富士康超市的销售部職工喜欢钻研数码产品,好人一枚 热心助人【朋友手机出问题都会找我解决问题】


/cn”,进入申请Apple ID官网界面点击下面的“创建 Apple ID”按钮。

知道合伙人房产装修行家

本人热衷数码类问题欢迎有疑问的网友进行交流、探讨。


10年电子数码从业经验 现任索尼终端销售顾问


苹果电脑怎么按下一页设备注册Apple ID的具体步骤为:

电子数码领域采纳数达到七百多采纳率56%


Apple ID 使用邮箱注册,邮箱地址即为用户名

2、进入App Store的精品推荐區域,移动到最后的地方;

3、打开Apple ID:点击注销;

4、接下来就是注册了,点击登录;

6、进入到创建页面店面设置中国之后点击下一步;

7、第七步出现 我已阅读并同意 iTunes Store 条款与条件 点击同意;

8、进入到了注册环节,电子信箱随便(随便只有按照这种规律)下面的自己设置和紸册游戏游戏一样没有什么区;

9、之后进入账号收费环节,输入你的银行卡号自己的信息,地址之后点击完成就可以了

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

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

我要回帖

更多关于 苹果电脑怎么按下一页 的文章

 

随机推荐