代码 订阅
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。 展开全文
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。
信息
外文名
code
定    义
开发工具支持的语言写的源文件
拼    音
dài mǎ
中文名
代码
操作者
程序员
代码词语解释
供把资料和指示输入自动计算机或制表机的任何符号系统;亦指这种符号的记录(如靠打孔资料卡片或磁带上的受磁点)。
收起全文
精华内容
下载资源
问答
  • 代码整洁 vs 代码肮脏

    万次阅读 多人点赞 2019-09-16 12:05:12
    写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。 WTF/min是衡量代码质量的唯一标准,...

    写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。

    WTF/min是衡量代码质量的唯一标准,Uncle Bob在书中称糟糕的代码为沼泽(wading),这只突出了我们是糟糕代码的受害者。国内有一个更适合的词汇:屎山,虽然不是很文雅但是更加客观,程序员既是受害者也是加害者。

    对于什么是整洁的代码,书中给出了大师们的总结:

    • Bjarne Stroustrup:优雅且高效;直截了当;减少依赖;只做好一件事
    • Grady booch:简单直接
    • Dave thomas:可读,可维护,单元测试
    • Ron Jeffries:不要重复、单一职责,表达力(Expressiveness)

    其中,我最喜欢的是表达力(Expressiveness)这个描述,这个词似乎道出了好代码的真谛:用简单直接的方式描绘出代码的功能,不多也不少。

    本文记录阅读《clean code》之后个人“深有同感”或者“醍醐灌顶”的一些观点。

    一、命名的艺术

    坦白的说,命名是一件困难的事情,要想出一个恰到好处的命名需要一番功夫,尤其我们的母语还不是编程语言所通用的英语。不过这一切都是值得了,好的命名让你的代码更直观,更有表达力。

    好的命名应该有下面的特征:

    1.1 名副其实

    好的变量名告诉你:是什么东西,为什么存在,该怎么使用

    如果需要通过注释来解释变量,那么就先得不那么名副其实了。

    下面是书中的一个示例代码,展示了命名对代码质量的提升

    # bad code
    def getItem(theList):
       ret = []
       for x in theList:
          if x[0] == 4:
             ret.append(x)
       return ret
    
    # good code
    def getFlaggedCell(gameBoard):
       '''扫雷游戏,flagged: 翻转'''
       flaggedCells = []
       for cell in gameBoard:
          if cell.IsFlagged():
             flaggedCells.append(cell)
       return flaggedCells
    

    1.2 避免误导

    • 不要挂羊头卖狗肉
    • 不要覆盖惯用缩略语

    这里不得不吐槽前两天才看到的一份代码,居然使用了 l 作为变量名;而且,user居然是一个list(单复数都没学好!!)

    1.3 有意义的区分

    代码是写给机器执行,也是给人阅读的,所以概念一定要有区分度。

    # bad
    def copy(a_list, b_list):
        pass
    
    # good
    def copy(source, destination):
        pass
    

    1.4 使用读的出来的单词

    如果名称读不出来,那么讨论的时候就会像个傻鸟

    1.5 使用方便搜索的命名

    名字长短应与其作用域大小相对应

    1.6 避免思维映射

    比如在代码中写一个temp,那么读者就得每次看到这个单词的时候翻译成其真正的意义

    二、注释

    有表达力的代码是无需注释的:The proper use of comments is to compensate for our failure to express ourself in code.

    注释的适当作用在于弥补我们用代码表达意图时遇到的失败,这听起来让人沮丧,但事实确实如此。The truth is in the code, 注释只是二手信息,二者的不同步或者不等价是注释的最大问题。

    书中给出了一个非常形象的例子来展示:用代码来阐述,而非注释

    bad
    // check to see if the employee is eligible for full benefit
    if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))
    
    good
    if (employee.isEligibleForFullBenefits())
    

    因此,当想要添加注释的时候,可以想想是否可以通过修改命名,或者修改函数(代码)的抽象层级来展示代码的意图。

    当然,也不能因噎废食,书中指出了以下一些情况属于好的注释

    • 法务信息
    • 对意图的注释,为什么要这么做
    • 警示
    • TODO注释
    • 放大看似不合理之物的重要性

    其中个人最赞同的是第2点和第5点,做什么很容易通过命名表达,但为什么要这么做则并不直观,特别涉及到专业知识、算法的时候。另外,有些第一感觉“不那么优雅”的代码,也许有其特殊愿意,那么这样的代码就应该加上注释,说明为什么要这样,比如为了提升关键路径的性能,可能会牺牲部分代码的可读性。

    最坏的注释就是过时或者错误的注释,这对于代码的维护者(也许就是几个月后的自己)是巨大的伤害,可惜除了code review,并没有简单易行的方法来保证代码与注释的同步。

    三、函数

    3.1 函数的单一职责

    一个函数应该只做一件事,这件事应该能通过函数名就能清晰的展示。判断方法很简单:看看函数是否还能再拆出一个函数。

    函数要么做什么do_sth, 要么查询什么query_sth。最恶心的就是函数名表示只会query_sth, 但事实上却会do_sth, 这使得函数产生了副作用。比如书中的例子

    public class UserValidator {
        private Cryptographer cryptographer;
        public boolean checkPassword(String userName, String password) {
            User user = UserGateway.findByName(userName);
            if (user != User.NULL) {
                String codedPhrase = user.getPhraseEncodedByPassword();
                String phrase = cryptographer.decrypt(codedPhrase, password);
                if ("Valid Password".equals(phrase)) {
                    Session.initialize();
                    return true;
                }
            }
            return false;
        }
    }
    

    3.2 函数的抽象层级

    每个函数一个抽象层次,函数中的语句都要在同一个抽象层级,不同的抽象层级不能放在一起。比如我们想把大象放进冰箱,应该是这个样子的:

    def pushElephantIntoRefrige():
        openRefrige()
        pushElephant()
        closeRefrige()
    

    函数里面的三句代码在同一个层级(高度)描述了要完成把大象放进冰箱这件事顺序相关的三个步骤。显然,pushElephant这个步骤又可能包含很多子步骤,但是在pushElephantIntoRefrige这个层级,是无需知道太多细节的。

    当我们想通过阅读代码的方式来了解一个新的项目时,一般都是采取广度优先的策略,自上而下的阅读代码,先了解整体结构,然后再深入感兴趣的细节。如果没有对实现细节进行良好的抽象(并凝练出一个名副其实的函数),那么阅读者就容易迷失在细节的汪洋里。

    某种程度看来,这个跟金字塔原理也很像
    file

    每一个层级都是为了论证其上一层级的观点,同时也需要下一层级的支持;同一层级之间的多个论点又需要以某种逻辑关系排序。pushElephantIntoRefrige就是中心论点,需要多个子步骤的支持,同时这些子步骤之间也有逻辑先后顺序。

    3.3 函数参数

    函数的参数越多,组合出的输入情况就愈多,需要的测试用例也就越多,也就越容易出问题。

    输出参数相比返回值难以理解,这点深有同感,输出参数实在是很不直观。从函数调用者的角度,一眼就能看出返回值,而很难识别输出参数。输出参数通常逼迫调用者去检查函数签名,这个实在不友好。

    向函数传入Boolean(书中称之为 Flag Argument)通常不是好主意。尤其是传入True or False后的行为并不是一件事情的两面,而是两件不同的事情时。这很明显违背了函数的单一职责约束,解决办法很简单,那就是用两个函数。

    3.4 Dont repear yourself

    在函数这个层级,是最容易、最直观实现复用的,很多IDE也难帮助我们讲一段代码重构出一个函数。

    不过在实践中,也会出现这样一种情况:一段代码在多个方法中都有使用,但是又不完全一样,如果抽象成一个通用函数,那么就需要加参数、加if else区别。这样就有点尴尬,貌似可以重构,但又不是很完美。

    造成上述问题的某种情况是因为,这段代码也违背了单一职责原则,做了不只一件事情,这才导致不好复用,解决办法是进行方法的细分,才能更好复用。也可以考虑template method来处理差异的部分。

    四、测试

    非常惭愧的是,在我经历的项目中,测试(尤其是单元测试)一直都没有得到足够的重视,也没有试行过TDD。正因为缺失,才更感良好测试的珍贵。

    我们常说,好的代码需要有可读性、可维护性、可扩展性,好的代码、架构需要不停的重构、迭代,但自动化测试是保证这一切的基础,没有高覆盖率的、自动化的单元测试、回归测试,谁都不敢去修改代码,只能任其腐烂。

    即使针对核心模块写了单元测试,一般也很随意,认为这只是测试代码,配不上生产代码的地位,以为只要能跑通就行了。这就导致测试代码的可读性、可维护性非常差,然后导致测试代码很难跟随生产代码一起更新、演化,最后导致测试代码失效。所以说,脏测试 - 等同于 - 没测试。

    因此,测试代码的三要素:可读性,可读性,可读性。

    对于测试的原则、准则如下:

    • You are not allowed to write any production code unless it is to make a failing unit test pass. 没有测试之前不要写任何功能代码
    • You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures. 只编写恰好能够体现一个失败情况的测试代码
    • You are not allowed to write any more production code than is sufficient to pass the one failing unit test. 只编写恰好能通过测试的功能代码

    测试的FIRST准则:

    • 快速(Fast)测试应该够快,尽量自动化。
    • 独立(Independent) 测试应该应该独立。不要相互依赖
    • 可重复(Repeatable) 测试应该在任何环境上都能重复通过。
    • 自我验证(Self-Validating) 测试应该有bool输出。不要通过查看日志这种低效率方式来判断测试是否通过
    • 及时(Timely) 测试应该及时编写,在其对应的生产代码之前编写

    该文章通过 https://openwrite.cn/ 工具创造并群发。

    展开全文
  • 完整的蓝屏错误代码大全详解

    万次阅读 多人点赞 2018-07-01 16:43:56
    完整的BSOD错误代码列表从STOP 0x1到STOP 0xC0000221一个死机(BSOD)的蓝屏,技术上称为一个STOP错误,若在Windows遭受了严重的错误,被迫“停”的问题。在任何Windows操作系统中都会出现BSOD错误,包括Windows 10...

    完整的BSOD错误代码列表从STOP 0x1到STOP 0xC0000221

    一个死机(BSOD)的蓝屏,技术上称为一个STOP错误,若在Windows遭受了严重的错误,被迫“停”的问题。

    在任何Windows 操作系统中都会出现BSOD错误,包括Windows 10,Windows 8,Windows 7,Windows Vista,Windows XP甚至Windows 98/95。

    由于蓝屏错误让您别无选择,只能重新启动,故障排除可能很困难。幸运的是,几乎每个STOP错误都包含一个基于十六进制的STOP代码,可用于研究修复程序。

     

    以下是关于单个STOP错误信息,包括每个STOP代码的含义以及我们在其他地方找到的关于该蓝屏错误的任何故障排除信息。

    蓝屏分析工具:

    https://download.csdn.net/download/qq_34462220/13183515

    提示:下面的所有停止代码都按顺序列出。如果仍有问题,可以尝试使用浏览器的页面搜索功能搜索BSOD错误代码(通常使用Ctrl + F  键盘快捷键调用)。

    STOP代码

    蓝屏的原因

    00000001

    BSOD意味着APC状态指数存在不匹配。BSOD错误代码0x00000001也可能在同一蓝色屏幕上显示“APC_INDEX_MISMATCH”。

    0x00000002

    这种BSOD并不常见。BSOD错误代码0x00000002也可能在同一蓝色屏幕上显示“DEVICE_QUEUE_NOT_BUSY”。

    0x00000003

    这种BSOD并不常见。蓝屏错误代码0x00000003也可能在同一蓝屏上显示“INVALID_AFFINITY_SET”。

    0x00000004

    这种BSOD并不常见。BSOD错误代码0x00000004也可能在同一蓝色屏幕上显示“INVALID_DATA_ACCESS_TRAP”。

    0x00000005

    这种BSOD并不常见。BSOD错误代码0x00000005也可能在同一蓝屏上显示“INVALID_PROCESS_ATTACH_ATTEMPT”。

    0x00000006

    这种BSOD并不常见。BSOD错误代码0x00000006也可能在同一蓝屏上显示“INVALID_PROCESS_DETACH_ATTEMPT”。

    0x00000007

    这种BSOD并不常见。BSOD错误代码0x00000007也可能在同一蓝屏上显示“INVALID_SOFTWARE_INTERRUPT”。

    0x00000008

    这种BSOD并不常见。蓝屏错误代码0x00000008也可能在同一蓝屏上显示“IRQL_NOT_DISPATCH_LEVEL”。

    0x00000009

    这种BSOD并不常见。蓝屏错误代码0x00000009也可能在同一蓝屏上显示“IRQL_NOT_GREATER_OR_EQUAL”。

    0X0000000A

    此BSOD意味着Microsoft Windows或内核模式驱动程序在DISPATCH_LEVEL或更高级别访问分页内存。蓝屏错误代码0x0000000A也可能在同一蓝屏上显示“IRQL_NOT_LESS_OR_EQUAL”。

    0x0000000B

    这种BSOD并不常见。蓝屏错误代码0x0000000B也可能在同一蓝屏上显示“NO_EXCEPTION_HANDLING_SUPPORT”。

    0x0000000C

    此BSOD表示当前线程超过了允许的等待对象数。BSOD错误代码0x0000000C也可能在同一蓝色屏幕上显示“MAXIMUM_WAIT_OBJECTS_EXCEEDED”。

    0x0000000D

    这种BSOD并不常见。BSOD错误代码0x0000000D也可能在同一蓝色屏幕上显示“MUTEX_LEVEL_NUMBER_VIOLATION”。

    0x0000000E

    这种BSOD并不常见。蓝屏错误代码0x0000000E也可能在同一蓝屏上显示“NO_USER_MODE_CONTEXT”。

    0x0000000F

    这个BSOD意味着当自旋锁已经拥有时,已经启动了对自旋锁的请求。蓝屏错误代码0x0000000F也可能在同一蓝屏上显示“SPIN_LOCK_ALREADY_OWNED”。

    0x00000010

    这种BSOD并不常见。蓝屏错误代码0x00000010也可能在同一蓝屏上显示“SPIN_LOCK_NOT_OWNED”。

    0x00000011

    这种BSOD并不常见。BSOD错误代码0x00000011也可能在同一蓝屏上显示“THREAD_NOT_MUTEX_OWNER”。

    0x00000012

    这个BSOD意味着发生了一个未知的异常。BSOD错误代码0x00000012也可能会在同一蓝色屏幕上显示“TRAP_CAUSE_UNKNOWN”。

    0x00000013

    这种BSOD并不常见。BSOD错误代码0x00000013也可能在同一蓝屏上显示“EMPTY_THREAD_REAPER_LIST”。

    0x00000014

    这种BSOD并不常见。BSOD错误代码0x00000014也可能在同一蓝屏上显示“CREATE_DELETE_LOCK_NOT_LOCKED”。

    0x00000015

    这种BSOD并不常见。BSOD错误代码0x00000015也可能在同一蓝屏上显示“LAST_CHANCE_CALLED_FROM_KMODE”。

    0x00000016

    这种BSOD并不常见。BSOD错误代码0x00000016也可能会在同一蓝色屏幕上显示“CID_HANDLE_CREATION”。

    0x00000017

    这种BSOD并不常见。BSOD错误代码0x00000017也可能在同一蓝屏上显示“CID_HANDLE_DELETION”。

    0x00000018

    这个BSOD意味着对象的引用计数对于对象的当前状态是非法的。BSOD错误代码0x00000018也可能会在同一蓝色屏幕上显示“REFERENCE_BY_POINTER”。

    0x00000019

    此BSOD表示池标头已损坏。BSOD错误代码0x00000019也可能在同一蓝屏上显示“BAD_POOL_HEADER”。

    0x0000001A

    这个BSOD意味着发生了严重的内存管理错误。BSOD错误代码0x0000001A也可能会在同一蓝色屏幕上显示“MEMORY_MANAGEMENT”。

    0x0000001B

    这种BSOD并不常见。蓝屏错误代码0x0000001B也可能在同一蓝屏上显示“PFN_SHARE_COUNT”。

    0x0000001C

    这种BSOD并不常见。BSOD错误代码0x0000001C也可能在同一蓝色屏幕上显示“PFN_REFERENCE_COUNT”。

    0x0000001D

    这种BSOD并不常见。BSOD错误代码0x0000001D也可能在同一蓝屏上显示“NO_SPIN_LOCK_AVAILABLE”。

    0X0000001E

    这个BSOD意味着一个内核模式程序产生了一个错误处理程序没有捕获的异常。BSOD错误代码0x0000001E也可能会在同一蓝色屏幕上显示“KMODE_EXCEPTION_NOT_HANDLED”。

    0x0000001F

    这种BSOD并不常见。BSOD错误代码0x0000001F也可能会在同一蓝色屏幕上显示“SHARED_RESOURCE_CONV_ERROR”。

    0x00000020

    这个BSOD意味着一个线程退出时,异步过程调用(APC)仍然处于等待状态。BSOD错误代码0x00000020也可能在同一蓝色屏幕上显示“KERNEL_APC_PENDING_DURING_EXIT”。

    0x00000021

    该BSOD意味着通过向特定区块返回比以前收取的更多配额而错误处理配额费用。BSOD错误代码0x00000021也可能在同一蓝屏上显示“QUOTA_UNDERFLOW”。

    0x00000022

    这种BSOD并不常见。BSOD错误代码0x00000022也可能在同一蓝色屏幕上显示“FILE_SYSTEM”。

    0x00000023

    此BSOD表示FAT文件系统中出现问题。BSOD错误代码0x00000023也可能在同一蓝屏上显示“FAT_FILE_SYSTEM”。

    0x00000024

    此BSOD表示ntfs.sys中出现问题,该驱动程序文件允许系统读取和写入NTFS驱动器。BSOD错误代码0x00000024也可能在同一蓝屏上显示“NTFS_FILE_SYSTEM”。

    0x00000025

    这个BSOD意味着在NPFS 文件系统中发生了一个问题。蓝屏错误代码0x00000025也可能在同一蓝屏上显示“NPFS_FILE_SYSTEM”。

    0x00000026

    这个BSOD意味着在CD文件系统中发生了一个问题。BSOD错误代码0x00000026也可能在同一蓝屏上显示“CDFS_FILE_SYSTEM”。

    0x00000027

    此BSOD表示SMB重定向器文件系统中出现问题。BSOD错误代码0x00000027也可能在同一蓝屏上显示“RDR_FILE_SYSTEM”。

    0x00000028

    这种BSOD并不常见。蓝屏错误代码0x00000028也可能在同一蓝屏上显示“CORRUPT_ACCESS_TOKEN”。

    0x00000029

    这种BSOD并不常见。蓝屏错误代码0x00000029也可能在同一蓝屏上显示“SECURITY_SYSTEM”。

    0x0000002A

    该BSOD意味着发现IRP包含不一致的信息。蓝屏错误代码0x0000002A也可能在同一蓝屏上显示“INCONSISTENT_IRP”。

    0x0000002B

    这个BSOD意味着内核模式堆栈溢出。BSOD错误代码0x0000002B也可能在同一蓝色屏幕上显示“PANIC_STACK_SWITCH”。

    0x0000002C

    这种BSOD并不常见。BSOD错误代码0x0000002C也可能在同一蓝色屏幕上显示“PORT_DRIVER_INTERNAL”。

    0x0000002D

    这种BSOD并不常见。蓝屏错误代码0x0000002D也可能在同一蓝屏上显示“SCSI_DISK_DRIVER_INTERNAL”。

    0x0000002E

    该BSOD表示已检测到系统存储器中的奇偶校验错误。BSOD错误代码0x0000002E也可能会在同一蓝色屏幕上显示“DATA_BUS_ERROR”。

    0x0000002F

    这种BSOD并不常见。蓝屏错误代码0x0000002F也可能会在同一蓝屏上显示“INSTRUCTION_BUS_ERROR”。

    0x00000030

    此BSOD表示陷阱帧中的堆栈指针具有无效值。BSOD错误代码0x00000030也可能在同一蓝色屏幕上显示“SET_OF_INVALID_CONTEXT”。

    0x00000031

    这个BSOD意味着系统初始化失败。BSOD错误代码0x00000031也可能会在同一蓝色屏幕上显示“PHASE0_INITIALIZATION_FAILED”。

    0x00000032

    这个BSOD意味着系统初始化失败。BSOD错误代码0x00000032也可能在同一蓝色屏幕上显示“PHASE1_INITIALIZATION_FAILED”。

    0x00000033

    这种BSOD并不常见。BSOD错误代码0x00000033也可能会在同一蓝色屏幕上显示“UNEXPECTED_INITIALIZATION_CALL”。

    0x00000034

    此BSOD表示文件系统的缓存管理器中出现问题。BSOD错误代码0x00000034也可能在同一蓝色屏幕上显示“CACHE_MANAGER”。

    0x00000035

    当IoCallDriver数据包没有剩余堆栈位置时发生此BSOD BSOD错误代码0x00000035也可能在同一蓝屏上显示“NO_MORE_IRP_STACK_LOCATIONS”。

    0x00000036

    这个BSOD意味着一个驱动程序试图删除一个仍然有一个正参考计数的设备对象。BSOD错误代码0x00000036也可能在同一蓝屏上显示“DEVICE_REFERENCE_COUNT_NOT_ZERO”。

    0x00000037

    这种BSOD并不常见。BSOD错误代码0x00000037也可能在同一蓝色屏幕上显示“FLOPPY_INTERNAL_ERROR”。

    0x00000038

    这种BSOD并不常见。BSOD错误代码0x00000038也可能在同一蓝色屏幕上显示“SERIAL_DRIVER_INTERNAL”。

    0x00000039

    此BSOD表示worker例程返回时未释放它拥有的互斥对象。BSOD错误代码0x00000039也可能在同一蓝色屏幕上显示“SYSTEM_EXIT_OWNED_MUTEX”。

    0x0000003A

    这种BSOD并不常见。蓝屏错误代码0x0000003A也可能在同一蓝屏上显示“SYSTEM_UNWIND_PREVIOUS_USER”。

    0x0000003B

    这个BSOD意味着在执行从非特权代码转换到特权代码的例程时发生异常。BSOD错误代码0x0000003B也可能会在同一蓝色屏幕上显示“SYSTEM_SERVICE_EXCEPTION”。

    0x0000003C

    这种BSOD并不常见。BSOD错误代码0x0000003C也可能在同一蓝色屏幕上显示“INTERRUPT_UNWIND_ATTEMPTED”。

    0x0000003D

    这种BSOD并不常见。BSOD错误代码0x0000003D也可能在同一蓝色屏幕上显示“INTERRUPT_EXCEPTION_NOT_HANDLED”。

    0x0000003E

    这个BSOD意味着系统有多个处理器,但是它们相互之间是不对称的。BSOD错误代码0x0000003E也可能在同一蓝屏上显示“MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED”。

    0x0000003F

    该BSOD是系统执行了太多I / O操作的结果。这导致了碎片化的系统页表项(PTE)。BSOD错误代码0x0000003F也可能在同一蓝色屏幕上显示“NO_MORE_SYSTEM_PTES”。

    0x00000040

    此BSOD意味着驱动程序使用不当IoBuildPartialMdl BSOD错误代码0x00000040也可能在同一蓝色屏幕上显示“TARGET_MDL_TOO_SMALL”。

    0x00000041

    这个BSOD意味着内核模式线程已经请求了太多必须成功的池。蓝屏错误代码0x00000041也可能在同一蓝屏上显示“MUST_SUCCEED_POOL_EMPTY”。

    0x00000042

    这种BSOD并不常见。BSOD错误代码0x00000042也可能在同一蓝色屏幕上显示“ATDISK_DRIVER_INTERNAL”。

    0x00000043

    这种BSOD并不常见。BSOD错误代码0x00000043也可能在同一蓝屏上显示“NO_SUCH_PARTITION”。

    0x00000044

    此BSOD表示驱动程序已尝试请求已完成的IRP已完成。BSOD错误代码0x00000044也可能在同一蓝屏上显示“MULTIPLE_IRP_COMPLETE_REQUESTS”。

    0x00000045

    这种BSOD并不常见。BSOD错误代码0x00000045也可能在同一蓝色屏幕上显示“INSUFFICIENT_SYSTEM_MAP_REGS”。

    0x00000046

    这种BSOD并不常见。BSOD错误代码0x00000046也可能在同一蓝色屏幕上显示“DEREF_UNKNOWN_LOGON_SESSION”。

    0x00000047

    这种BSOD并不常见。蓝屏错误代码0x00000047也可能在同一蓝屏上显示“REF_UNKNOWN_LOGON_SESSION”。

    0x00000048

    该BSOD表示I / O请求包(IRP)已完成,随后被取消。BSOD错误代码0x00000048也可能会在同一蓝色屏幕上显示“CANCEL_STATE_IN_COMPLETED_IRP”。

    0x00000049

    这种BSOD并不常见。蓝屏错误代码0x00000049也可能在同一蓝屏上显示“PAGE_FAULT_WITH_INTERRUPTS_OFF”。

    0x0000004A

    这个BSOD意味着一个线程在IRQL仍高于PASSIVE_LEVEL时从系统调用返回到用户模式。蓝屏错误代码0x0000004A也可能在同一蓝屏上显示“IRQL_GT_ZERO_AT_SYSTEM_SERVICE”。

    0x0000004B

    这种BSOD并不常见。BSOD错误代码0x0000004B也可能在同一蓝色屏幕上显示“STREAMS_INTERNAL_ERROR”。

    0x0000004C

    这种BSOD并不常见。BSOD错误代码0x0000004C也可能在同一蓝色屏幕上显示“FATAL_UNHANDLED_HARD_ERROR”。

    0x0000004D

    这个BSOD意味着没有空闲页面可用于继续操作。BSOD错误代码0x0000004D也可能在同一蓝屏上显示“NO_PAGES_AVAILABLE”。

    0x0000004E

    该BSOD表示页面帧号(PFN)列表已损坏。蓝屏错误代码0x0000004E也可能在同一蓝屏上显示“PFN_LIST_CORRUPT”。

    0x0000004F

    这种BSOD并不常见。BSOD错误代码0x0000004F也可能在同一蓝色屏幕上显示“NDIS_INTERNAL_ERROR”。

    0x00000050

    此BSOD表示已引用无效的系统内存。BSOD错误代码0x00000050也可能在同一蓝屏上显示“PAGE_FAULT_IN_NONPAGED_AREA”。

    0x00000051

    此BSOD表示发生了严重的注册表错误。BSOD错误代码0x00000051也可能在同一蓝色屏幕上显示“REGISTRY_ERROR”。

    0x00000052

    这种BSOD并不常见。BSOD错误代码0x00000052也可能在同一蓝屏上显示“MAILSLOT_FILE_SYSTEM”。

    0x00000053

    这种BSOD并不常见。BSOD错误代码0x00000053也可能会在同一蓝色屏幕上显示“NO_BOOT_DEVICE”。

    0x00000054

    这种BSOD并不常见。BSOD错误代码0x00000054也可能在同一蓝屏上显示“LM_SERVER_INTERNAL_ERROR”。

    0x00000055

    这种BSOD并不常见。BSOD错误代码0x00000055也可能在同一蓝屏上显示“DATA_COHERENCY_EXCEPTION”。

    0x00000056

    这种BSOD并不常见。BSOD错误代码0x00000056也可能在同一蓝屏上显示“INSTRUCTION_COHERENCY_EXCEPTION”。

    0x00000057

    这种BSOD并不常见。BSOD错误代码0x00000057也可能在同一蓝色屏幕上显示“XNS_INTERNAL_ERROR”。

    0x00000058

    如果从镜像分区的错误副本引导系统,则会出现此BSOD 。BSOD错误代码0x00000058也可能在同一蓝屏上显示“FTDISK_INTERNAL_ERROR”。

    0x00000059

    这个BSOD意味着弹球文件系统发生了问题。蓝屏错误代码0x00000059也可能会在同一蓝屏上显示“PINBALL_FILE_SYSTEM”。

    0x0000005A

    这种BSOD并不常见。蓝屏错误代码0x0000005A也可能在同一蓝屏上显示“CRITICAL_SERVICE_FAILED”。

    0x0000005B

    这种BSOD并不常见。BSOD错误代码0x0000005B也可能在同一蓝色屏幕上显示“SET_ENV_VAR_FAILED”。

    0x0000005C

    这种BSOD并不常见。蓝屏错误代码0x0000005C也可能会在同一蓝屏上显示“HAL_INITIALIZATION_FAILED”。

    0x0000005D

    此BSOD表示计算机正在尝试在不受支持的处理器上运行Windows。BSOD错误代码0x0000005D也可能在同一蓝色屏幕上显示“UNSUPPORTED_PROCESSOR”。

    0x0000005E

    这种BSOD并不常见。BSOD错误代码0x0000005E也可能在同一蓝色屏幕上显示“OBJECT_INITIALIZATION_FAILED”。

    0x0000005F

    这种BSOD并不常见。蓝屏错误代码0x0000005F也可能在同一蓝屏上显示“SECURITY_INITIALIZATION_FAILED”。

    0x00000060

    这种BSOD并不常见。BSOD错误代码0x00000060也可能会在同一蓝色屏幕上显示“PROCESS_INITIALIZATION_FAILED”。

    0x00000061

    这种BSOD并不常见。蓝屏错误代码0x00000061也可能在同一蓝屏上显示“HAL1_INITIALIZATION_FAILED”。

    0x00000062

    这种BSOD并不常见。BSOD错误代码0x00000062也可能在同一蓝色屏幕上显示“OBJECT1_INITIALIZATION_FAILED”。

    0x00000063

    这种BSOD并不常见。BSOD错误代码0x00000063也可能在同一蓝色屏幕上显示“SECURITY1_INITIALIZATION_FAILED”。

    0x00000064

    这种BSOD并不常见。BSOD错误代码0x00000064也可能在同一蓝屏上显示“SYMBOLIC_INITIALIZATION_FAILED”。

    0x00000065

    这种BSOD并不常见。BSOD错误代码0x00000065也可能在同一蓝屏上显示“MEMORY1_INITIALIZATION_FAILED”。

    0x00000066

    这种BSOD并不常见。BSOD错误代码0x00000066也可能在同一蓝屏上显示“CACHE_INITIALIZATION_FAILED”。

    0x00000067

    此BSOD表示注册表配置失败。BSOD错误代码0x00000067也可能在同一蓝屏上显示“CONFIG_INITIALIZATION_FAILED”。

    0x00000068

    这种BSOD并不常见。BSOD错误代码0x00000068也可能在同一蓝色屏幕上显示“FILE_INITIALIZATION_FAILED”。

    0x00000069

    这个BSOD意味着I / O系统的初始化由于某种原因失败。蓝屏错误代码0x00000069也可能在同一蓝屏上显示“IO1_INITIALIZATION_FAILED”。

    0x0000006A

    这种BSOD并不常见。蓝屏错误代码0x0000006A也可能在同一蓝屏上显示“LPC_INITIALIZATION_FAILED”。

    0x0000006B

    此BSOD表示Microsoft Windows操作系统的初始化失败。BSOD错误代码0x0000006B也可能会在同一蓝色屏幕上显示“PROCESS1_INITIALIZATION_FAILED”。

    0x0000006C

    这种BSOD并不常见。BSOD错误代码0x0000006C也可能会在同一蓝色屏幕上显示“REFMON_INITIALIZATION_FAILED”。

    0x0000006D

    这个BSOD意味着Microsoft Windows操作系统的初始化失败。蓝屏错误代码0x0000006D也可能在同一蓝屏上显示“SESSION1_INITIALIZATION_FAILED”。

    0x0000006E

    这个BSOD意味着Microsoft Windows操作系统的初始化失败。蓝屏错误代码0x0000006E也可能在同一蓝屏上显示“SESSION2_INITIALIZATION_FAILED”。

    0x0000006F

    这个BSOD意味着Microsoft Windows操作系统初始化的初始化。蓝屏错误代码0x0000006F也可能在同一蓝屏上显示“SESSION3_INITIALIZATION_FAILED”。

    0x00000070

    这个BSOD意味着Microsoft Windows操作系统的初始化失败。BSOD错误代码0x00000070也可能会在同一蓝色屏幕上显示“SESSION4_INITIALIZATION_FAILED”。

    0x00000071

    此BSOD表示Microsoft Windows操作系统的初始化失败。BSOD错误代码0x00000071也可能会在同一蓝色屏幕上显示“SESSION5_INITIALIZATION_FAILED”。

    0x00000072

    这种BSOD并不常见。蓝屏错误代码0x00000072也可能会在同一蓝屏上显示“ASSIGN_DRIVE_LETTERS_FAILED”。

    0x00000073

    此BSOD意味着其中一个顶级注册表项(也称为核心系统配置单元)无法链接到注册表树中。BSOD错误代码0x00000073也可能在同一蓝色屏幕上显示“CONFIG_LIST_FAILED”。

    0x00000074

    这个BSOD意味着注册表中有错误。BSOD错误代码0x00000074也可能在同一蓝屏上显示“BAD_SYSTEM_CONFIG_INFO”。

    0x00000075

    此BSOD表示SYSTEM注册表配置单元文件无法转换为映射文件。BSOD错误代码0x00000075也可能在同一蓝屏上显示“CANNOT_WRITE_CONFIGURATION”。

    0x00000076

    此BSOD表示驱动程序在I / O操作后无法释放锁定的页面。BSOD错误代码0x00000076也可能在同一蓝屏上显示“PROCESS_HAS_LOCKED_PAGES”。

    0x00000077

    该BSOD意味着来自页面文件的所请求的内核数据页面无法读入内存。BSOD错误代码0x00000077也可能在同一蓝屏上显示“KERNEL_STACK_INPAGE_ERROR”。

    0x00000078

    这种BSOD并不常见。BSOD错误代码0x00000078也可能会在同一蓝色屏幕上显示“PHASE0_EXCEPTION”。

    0x00000079

    此BSOD表示硬件抽象层(HAL)修订级别或配置与内核或计算机的级别或配置不匹配。BSOD错误代码0x00000079也可能在同一蓝屏上显示“MISMATCHED_HAL”。

    0x0000007A

    该BSOD意味着来自页面文件的所请求的内核数据页面无法读入内存。BSOD错误代码0x0000007A也可能在同一蓝屏上显示“KERNEL_DATA_INPAGE_ERROR”。

    0X0000007B

    此BSOD表示Microsoft Windows操作系统在启动期间失去了对系统分区的访问权限。蓝屏错误代码0x0000007B也可能在同一蓝屏上显示“INACCESSIBLE_BOOT_DEVICE”。

    0x0000007C

    这个蓝屏意味着NDIS驱动程序出现问题。BSOD错误代码0x0000007C也可能会在同一蓝色屏幕上显示“BUGCODE_NDIS_DRIVER”。

    0x0000007D

    此BSOD表示没有足够的内存来启动Microsoft Windows操作系统。BSOD错误代码0x0000007D也可能在同一蓝色屏幕上显示“INSTALL_MORE_MEMORY”。

    0x0000007E

    此BSOD表示系统线程生成了错误处理程序未捕获的异常。蓝屏错误代码0x0000007E也可能在同一蓝屏上显示“SYSTEM_THREAD_EXCEPTION_NOT_HANDLED”。

    0x0000007F

    这个BSOD意味着英特尔CPU产生了一个陷阱,并且内核未能抓住这个陷阱。BSOD错误代码0x0000007F也可能会在同一蓝色屏幕上显示“UNEXPECTED_KERNEL_MODE_TRAP”。

    0x00000080

    这个BSOD意味着发生了硬件故障。BSOD错误代码0x00000080也可能在同一蓝屏上显示“NMI_HARDWARE_FAILURE”。

    0x00000081

    这种BSOD并不常见。蓝屏错误代码0x00000081也可能会在同一蓝屏上显示“SPIN_LOCK_INIT_FAILURE”。

    0x00000082

    这种BSOD并不常见。BSOD错误代码0x00000082也可能在同一蓝色屏幕上显示“DFS_FILE_SYSTEM”。

    0x00000085

    此BSOD表示在安装过程中发生致命错误。BSOD错误代码0x00000085也可能在同一蓝色屏幕上显示“SETUP_FAILURE”。

    0x0000008B

    这个BSOD意味着在MBR校验和中发生了不匹配。BSOD错误代码0x0000008B也可能在同一蓝屏上显示“MBR_CHECKSUM_MISMATCH”。

    0x0000008E

    这个BSOD意味着内核模式应用程序产生了一个错误处理程序没有捕获的异常。BSOD错误代码0x0000008E也可能在同一蓝色屏幕上显示“KERNEL_MODE_EXCEPTION_NOT_HANDLED”。

    0x0000008F

    这个BSOD意味着即插即用(PnP)管理器无法初始化。BSOD错误代码0x0000008F也可能在同一蓝色屏幕上显示“PP0_INITIALIZATION_FAILED”。

    0x00000090

    这个BSOD意味着即插即用(PnP)管理器无法初始化。BSOD错误代码0x00000090也可能在同一蓝屏上显示“PP1_INITIALIZATION_FAILED”。

    0x00000092

    这个BSOD意味着一个单处理器的驱动程序已经加载到多处理器系统上。BSOD错误代码0x00000092也可能在同一蓝屏上显示“UP_DRIVER_ON_MP_SYSTEM”。

    0x00000093

    此BSOD表示将无效或受保护的句柄传递给NtClose。BSOD错误代码0x00000093也可能在同一蓝屏上显示“INVALID_KERNEL_HANDLE”。

    0x00000094

    这个BSOD意味着一个线程在其内核堆栈被标记为不可交换时退出。BSOD错误代码0x00000094也可能在同一蓝色屏幕上显示“KERNEL_STACK_LOCKED_AT_EXIT”。

    0x00000096

    这个BSOD意味着删除了一个包含空指针的队列条目。BSOD错误代码0x00000096也可能在同一蓝色屏幕上显示“INVALID_WORK_QUEUE_ITEM”。

    0x00000097

    这种BSOD并不常见。蓝屏错误代码0x00000097也可能在同一蓝屏上显示“BOUND_IMAGE_UNSUPPORTED”。

    0x00000098

    此BSOD表示Microsoft Windows操作系统的试用期已结束。蓝屏错误代码0x00000098也可能在同一蓝屏上显示“END_OF_NT_EVALUATION_PERIOD”。

    0x00000099

    这个BSOD意味着ExInitializeRegion或ExInterlockedExtendRegion被调用了一组无效的参数。BSOD错误代码0x00000099也可能在同一蓝色屏幕上显示“INVALID_REGION_OR_SEGMENT”。

    0x0000009A

    这种BSOD意味着软件许可协议已被违反。蓝屏错误代码0x0000009A也可能在同一蓝屏上显示“SYSTEM_LICENSE_VIOLATION”。

    0x0000009B

    这个BSOD意味着在UDF文件系统中发生了一个问题。BSOD错误代码0x0000009B也可能在同一蓝色屏幕上显示“UDFS_FILE_SYSTEM”。

    0x0000009C

    这个BSOD意味着发生了一个致命的机器检查异常。BSOD错误代码0x0000009C也可能在同一蓝屏上显示“MACHINE_CHECK_EXCEPTION”。

    0x0000009E

    此BSOD意味着一个或多个关键用户模式组件无法满足健康检查。蓝屏错误代码0x0000009E也可能在同一蓝屏上显示“USER_MODE_HEALTH_MONITOR”。

    0x0000009F

    此蓝屏表示驱动程序处于不一致或无效的电源状态。BSOD错误代码0x0000009F也可能在同一蓝色屏幕上显示“DRIVER_POWER_STATE_FAILURE”。

    0X000000A0

    此BSOD表示电源策略管理器遇到致命错误。BSOD错误代码0x000000A0也可能在同一蓝色屏幕上显示“INTERNAL_POWER_ERROR”。

    0x000000A1

    此BSOD表示PCI总线驱动程序在其内部结构中检测到不一致问题,无法继续。BSOD错误代码0x000000A1也可能在同一蓝屏上显示“PCI_BUS_DRIVER_INTERNAL”。

    0x000000A2

    这个BSOD意味着已经在内存中的可执行文件的图像中检测到损坏。BSOD错误代码0x000000A2也可能会在同一蓝色屏幕上显示“MEMORY_IMAGE_CORRUPT”。

    0x000000A3

    此蓝屏意味着ACPI驱动程序检测到内部不一致。BSOD错误代码0x000000A3也可能在同一蓝色屏幕上显示“ACPI_DRIVER_INTERNAL”。

    0x000000A4

    这个BSOD意味着CNSS文件系统过滤器发生问题。蓝屏错误代码0x000000A4也可能在同一蓝屏上显示“CNSS_FILE_SYSTEM_FILTER”。

    0x000000A5

    此蓝屏意味着计算机的高级配置和电源接口(ACPI)BIOS不完全符合ACPI规范。BSOD错误代码0x000000A5也可能在同一蓝屏上显示“ACPI_BIOS_ERROR”。

    0x000000A7

    该BSOD意味着内核模式句柄表检测到不一致的句柄表条目状态。BSOD错误代码0x000000A7也可能会在同一蓝色屏幕上显示“BAD_EXHANDLE”。

    0x000000AB

    此BSOD意味着会话驱动程序仍然保留内存时发生会话卸载。BSOD错误代码0x000000AB也可能会在同一蓝色屏幕上显示“SESSION_HAS_VALID_POOL_ON_EXIT”。

    0x000000AC

    这个BSOD意味着硬件抽象层(HAL)无法获得足够的内存。蓝屏错误代码0x000000AC也可能在同一蓝屏上显示“HAL_MEMORY_ALLOCATION”。

    0x000000AD

    此蓝屏意味着视频端口在运行时代表视频驱动程序创建了一个非致命的小型转储。蓝屏错误代码0x000000AD也可能在同一蓝屏上显示“VIDEO_DRIVER_DEBUG_REPORT_REQUEST”。

    0x000000B4

    这个BSOD意味着Windows无法进入图形模式。BSOD错误代码0x000000B4也可能在同一蓝屏上显示“VIDEO_DRIVER_INIT_FAILURE”。

    0x000000B8

    该BSOD意味着通过延迟程序调用(DPC)例程尝试进行非法操作。BSOD错误代码0x000000B8也可能会在同一蓝色屏幕上显示“ATTEMPTED_SWITCH_FROM_DPC”。

    0x000000B9

    这种BSOD并不常见。BSOD错误代码0x000000B9也可能会在同一蓝色屏幕上显示“CHIPSET_DETECTED_ERROR”。

    0x000000BA

    这个BSOD意味着会话驱动程序在卸载会话时仍然映射了视图。BSOD错误代码0x000000BA也可能会在同一蓝色屏幕上显示“SESSION_HAS_VALID_VIEWS_ON_EXIT”。

    0x000000BB

    此BSOD表示Windows无法成功启动网络。蓝屏错误代码0x000000BB也可能在同一蓝屏上显示“NETWORK_BOOT_INITIALIZATION_FAILED”。

    0x000000BC

    此蓝屏意味着在启动网络时为本机分配了重复的IP地址。BSOD错误代码0x000000BC也可能在同一蓝色屏幕上显示“NETWORK_BOOT_DUPLICATE_ADDRESS”。

    0x000000BE

    如果驱动程序试图写入只读内存段,则会显示此蓝屏死机。BSOD错误代码0x000000BE也可能在同一蓝色屏幕上显示“ATTEMPTED_WRITE_TO_READONLY_MEMORY”。

    0x000000BF

    此BSOD表示某个线程试图获取其已拥有的互斥锁的所有权。BSOD错误代码0x000000BF也可能会在同一蓝色屏幕上显示“MUTEX_ALREADY_OWNED”。

    0x000000C1

    这个BSOD意味着驱动程序写入特殊池的无效部分。BSOD错误代码0x000000C1也可能在同一蓝色屏幕上显示“SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION”。

    0x000000C2

    这个BSOD意味着当前线程正在做出糟糕的池请求。BSOD错误代码0x000000C2也可能会在同一蓝色屏幕上显示“BAD_POOL_CALLER”。

    0x000000C4

    此BSOD是Driver Verifier发现的致命错误的常规STOP代码。BSOD错误代码0x000000C4也可能会在同一蓝色屏幕上显示“DRIVER_VERIFIER_DETECTED_VIOLATION”。

    0x000000C5

    BSOD意味着系统尝试在IRQL过高的情况下访问无效内存。BSOD错误代码0x000000C5也可能会在同一蓝色屏幕上显示“DRIVER_CORRUPTED_EXPOOL”。

    0x000000C6

    这个BSOD意味着驱动程序试图访问释放的内存池。BSOD错误代码0x000000C6也可能会在同一蓝色屏幕上显示“DRIVER_CAUGHT_MODIFYING_FREED_POOL”。

    0x000000C7

    如果在内存中某处找到内核计时器或延迟过程调用(DPC),则会出现此BSOD。BSOD错误代码0x000000C7也可能在同一蓝屏上显示“TIMER_OR_DPC_INVALID”。

    0x000000C8

    这个BSOD意味着处理器的IRQL目前不是它应该的样子。蓝屏错误代码0x000000C8也可能在同一蓝屏上显示“IRQL_UNEXPECTED_VALUE”。

    0x000000C9

    此BSOD是所有驱动程序验证程序I / O验证违规的STOP代码。BSOD错误代码0x000000C9也可能会在同一蓝色屏幕上显示“DRIVER_VERIFIER_IOMANAGER_VIOLATION”。

    0x000000CA

    此BSOD意味着即插即用管理器遇到严重错误,可能是由于有问题的即插即用驱动程序。BSOD错误代码0x000000CA也可能在同一蓝色屏幕上显示“PNP_DETECTED_FATAL_ERROR”。

    0x000000CB

    此BSOD表示驱动程序或I / O管理器在I / O操作后无法释放锁定的页面。BSOD错误代码0x000000CB也可能在同一蓝色屏幕上显示“DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS”。

    0x000000CC

    这个BSOD意味着系统引用了较早释放的内存。BSOD错误代码0x000000CC也可能在同一蓝色屏幕上显示“PAGE_FAULT_IN_FREED_SPECIAL_POOL”。

    0x000000CD

    此BSOD表示系统在某个驱动程序池分配结束后访问内存。蓝屏错误代码0x000000CD也可能在同一蓝屏上显示“PAGE_FAULT_BEYOND_END_OF_ALLOCATION”。

    0x000000CE

    这个BSOD意味着驱动程序在卸载之前未能取消挂起的操作。BSOD错误代码0x000000CE也可能在同一蓝色屏幕上显示“DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS”。

    0x000000CF

    此BSOD表示驱动程序已错误地移植到终端服务器。BSOD错误代码0x000000CF也可能在同一蓝色屏幕上显示“TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE”。

    0x000000D0

    此BSOD表示系统尝试在过高的进程IRQL上访问无效内存。BSOD错误代码0x000000D0也可能在同一蓝色屏幕上显示“DRIVER_CORRUPTED_MMPOOL”。

    0X000000D1

    此BSOD意味着内核模式驱动程序试图在过高的进程IRQL上访问可分页内存。蓝屏错误代码0x000000D1也可能会在同一蓝屏上显示“DRIVER_IRQL_NOT_LESS_OR_EQUAL”。

    0x000000D2

    这个蓝屏意味着NDIS驱动程序出现问题。BSOD错误代码0x000000D2也可能在同一蓝屏上显示“BUGCODE_ID_DRIVER”。

    0x000000D3

    这个BSOD意味着系统试图在IRQL过程中访问可分页的内存。BSOD错误代码0x000000D3也可能在同一蓝色屏幕上显示“DRIVER_PORTION_MUST_BE_NONPAGED”。

    0x000000D4

    这个BSOD意味着驱动程序在卸载之前没有取消挂起的操作。BSOD错误代码0x000000D4也可能在同一蓝屏上显示“SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD”。

    0x000000D5

    这个BSOD意味着驱动程序引用了较早释放的内存。BSOD错误代码0x000000D5也可能会在同一蓝色屏幕上显示“DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL”。

    0x000000D6

    该BSOD意味着驱动程序在其池分配结束后访问内存。BSOD错误代码0x000000D6也可能在同一蓝屏上显示“DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION”。

    0x000000D7

    这个BSOD意味着一个驱动程序试图取消映射未映射的地址。BSOD错误代码0x000000D7也可能在同一蓝屏上显示“DRIVER_UNMAPPING_INVALID_VIEW”。

    0x000000D8

    这个BSOD意味着没有更多的系统页面表项(PTE)剩余。蓝屏错误代码0x000000D8也可能会在同一蓝屏上显示“DRIVER_USED_EXCESSIVE_PTES”。

    0x000000D9

    这个BSOD意味着内部的锁定页面跟踪结构已被破坏。BSOD错误代码0x000000D9也可能会在同一蓝色屏幕上显示“LOCKED_PAGES_TRACKER_CORRUPTION”。

    0x000000DA

    这种BSOD意味着页表项(PTE)例程以不正确的方式被使用。BSOD错误代码0x000000DA也可能在同一蓝色屏幕上显示“SYSTEM_PTE_MISUSE”。

    0x000000DB

    此BSOD意味着尝试在无效的IRQL上触摸内存,可能是由于系统PTE的损坏。蓝屏错误代码0x000000DB也可能在同一蓝屏上显示“DRIVER_CORRUPTED_SYSPTES”。

    0x000000DC

    这个BSOD意味着驱动程序访问了位于堆栈线程堆栈指针下方的堆栈地址。BSOD错误代码0x000000DC也可能在同一蓝色屏幕上显示“DRIVER_INVALID_STACK_ACCESS”。

    0x000000DE

    这个BSOD意味着一个驱动程序已损坏池内存,用于保存去往磁盘的页面。BSOD错误代码0x000000DE也可能在同一蓝色屏幕上显示“POOL_CORRUPTION_IN_FILE_AREA”。

    0x000000DF

    这个BSOD意味着一个工作项目在完成之前不会禁用模仿。蓝屏错误代码0x000000DF也可能在同一蓝屏上显示“IMPERSONATING_WORKER_THREAD”。

    0x000000E0

    此BSOD表示您的某个计算机组件出现故障。BSOD错误代码0x000000E0也可能在同一蓝色屏幕上显示“ACPI_BIOS_FATAL_ERROR”。

    0x000000E1

    这个BSOD意味着一个工作线程完成并返回IRQL> = DISPATCH_LEVEL。BSOD错误代码0x000000E1也可能在同一蓝色屏幕上显示“WORKER_THREAD_RETURNED_AT_BAD_IRQL”。

    0x000000E2

    这个BSOD意味着用户故意从内核调试器或键盘启动故障转储。BSOD错误代码0x000000E2也可能在同一蓝屏上显示“MANUALLY_INITIATED_CRASH”。

    0x000000E3

    这个BSOD意味着一个线程试图释放它不拥有的资源。蓝屏错误代码0x000000E3也可能在同一蓝屏上显示“RESOURCE_NOT_OWNED”。

    0x000000E4

    此BSOD意味着不应包含执行工作程序项目的内存确实包含这样的项目,或者当前活动的工作项目已排队。蓝屏错误代码0x000000E4也可能在同一蓝屏上显示“WORKER_INVALID”。

    0x000000E6

    此BSOD是所有驱动程序验证程序DMA验证违规的STOP代码。BSOD错误代码0x000000E6也可能会在同一蓝色屏幕上显示“DRIVER_VERIFIER_DMA_VIOLATION”。

    0x000000E7

    此BSOD表示线程的已保存浮点状态无效。BSOD错误代码0x000000E7也可能会在同一蓝色屏幕上显示“INVALID_FLOATING_POINT_STATE”。

    0x000000E8

    这BSOD意味着一个无效的文件对象被传递给IoCancelFileOpen。BSOD错误代码0x000000E8也可能在同一蓝屏上显示“INVALID_CANCEL_OF_FILE_OPEN”。

    0x000000E9

    这个BSOD意味着一个活跃的执行工作者线程正在终止。蓝屏错误代码0x000000E9也可能在同一蓝屏上显示“ACTIVE_EX_WORKER_THREAD_TERMINATION”。

    0x000000EA

    这个BSOD意味着设备驱动程序中的线程无限旋转。BSOD错误代码0x000000EA也可能在同一蓝屏上显示“THREAD_STUCK_IN_DEVICE_DRIVER”。

    0x000000EB

    这个BSOD意味着没有空闲页面可用于继续操作。BSOD错误代码0x000000EB也可能在同一蓝屏上显示“DIRTY_MAPPED_PAGES_CONGESTION”。

    0x000000EC

    此BSOD意味着会话驱动程序仍然保留内存时发生会话卸载。蓝屏错误代码0x000000EC也可能在同一蓝屏上显示“SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT”。

    0x000000ED

    这个BSOD意味着I / O子系统试图挂载启动卷并失败。BSOD错误代码0x000000ED也可能在同一蓝色屏幕上显示“UNMOUNTABLE_BOOT_VOLUME”。

    0x000000EF

    这个BSOD意味着一个关键的系统进程死亡。BSOD错误代码0x000000EF也可能在同一蓝屏上显示“CRITICAL_PROCESS_DIED”。

    0x000000F1

    此BSOD这是所有驱动程序验证程序SCSI验证违规的STOP代码。BSOD错误代码0x000000F1也可能在同一蓝色屏幕上显示“SCSI_VERIFIER_DETECTED_VIOLATION”。

    0x000000F3

    这个BSOD意味着Windows由于内存不足而无法关闭。蓝屏错误代码0x000000F3也可能会在同一蓝屏上显示“DISORDERLY_SHUTDOWN”。

    0x000000F4

    这个BSOD意味着一个对系统操作至关重要的进程或线程意外退出或被终止。BSOD错误代码0x000000F4也可能在同一蓝屏上显示“CRITICAL_OBJECT_TERMINATION”。

    0x000000F5

    此蓝屏意味着过滤器管理器中发生了不可恢复的故障。蓝屏错误代码0x000000F5也可能在同一蓝屏上显示“FLTMGR_FILE_SYSTEM”。

    0x000000F6

    此蓝屏意味着BIOS或其他设备正在通过PCI驱动程序进行验证时发生错误。BSOD错误代码0x000000F6也可能在同一蓝屏上显示“PCI_VERIFIER_DETECTED_VIOLATION”。

    0x000000F7

    这个BSOD意味着驱动程序已经溢出了一个基于堆栈的缓冲区。BSOD错误代码0x000000F7也可能会在同一蓝色屏幕上显示“DRIVER_OVERRAN_STACK_BUFFER”。

    0x000000F8

    此蓝屏意味着尝试从RAM磁盘启动时发生初始化故障。BSOD错误代码0x000000F8也可能会在同一蓝色屏幕上显示“RAMDISK_BOOT_INITIALIZATION_FAILED”。

    0x000000F9

    此BSOD表示驱动程序将STATUS_REPARSE返回到没有尾随名称的IRP_MJ_CREATE请求。BSOD错误代码0x000000F9也可能在同一蓝屏上显示“DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN”。

    0x000000FA

    此BSOD意味着HTTP内核驱动程序(Http.sys)已达到损坏状态,无法恢复。蓝屏错误代码0x000000FA也可能会在同一蓝屏上显示“HTTP_DRIVER_CORRUPTED”。

    0x000000FC

    这个BSOD意味着试图执行不可执行的内存。BSOD错误代码0x000000FC也可能在同一蓝色屏幕上显示“ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY”。

    0x000000FD

    这个BSOD意味着没有可用的页面来继续基本的系统操作。BSOD错误代码0x000000FD也可能在同一蓝屏上显示“DIRTY_NOWRITE_PAGES_CONGESTION”。

    0x000000FE

    此蓝屏意味着通用串行总线(USB)驱动程序中发生错误。蓝屏错误代码0x000000FE也可能在同一蓝屏上显示“BUGCODE_USB_DRIVER”。

    0x000000FF

    此BSOD表示尝试将新项目插入保留队列,导致队列溢出。BSOD错误代码0x000000FF也可能在同一蓝屏上显示“RESERVE_QUEUE_OVERFLOW”。

    0x00000100

    这个BSOD意味着加载程序块无效,或者它与正在加载的系统不匹配。蓝屏错误代码0x00000100也可能在同一蓝屏上显示“LOADER_BLOCK_MISMATCH”。

    0x00000101

    此BSOD意味着在多处理器系统中的辅助处理器上的预期时钟中断未在分配的时间间隔内收到。BSOD错误代码0x00000101也可能在同一蓝屏上显示“CLOCK_WATCHDOG_TIMEOUT”。

    0x00000103

    此BSOD意味着多个UNC提供程序(MUP)遇到无效或意外的数据。因此,MUP无法将远程文件系统请求传送给网络重定向器即通用命名约定(UNC)提供程序。蓝屏错误代码0x00000103也可能在同一蓝屏上显示“MUP_FILE_SYSTEM”。

    0x00000104

    这个BSOD意味着GPU写入了一系列先前未提交的加速图形端口(AGP)内存。BSOD错误代码0x00000104也可能在同一蓝色屏幕上显示“AGP_INVALID_ACCESS”。

    0x00000105

    此BSOD意味着图形光圈重新映射表(GART)已损坏。BSOD错误代码0x00000105也可能在同一蓝色屏幕上显示“AGP_GART_CORRUPTION”。

    0x00000106

    此BSOD表示加速图形端口(AGP)硬件已被未经授权的代理重新编程。BSOD错误代码0x00000106也可能在同一蓝色屏幕上显示“AGP_ILLEGALLY_REPROGRAMMED”。

    0x00000108

    此BSOD表示在第三方文件系统或文件系统筛选器中发生了不可恢复的问题。BSOD错误代码0x00000108也可能在同一蓝屏上显示“THIRD_PARTY_FILE_SYSTEM_FAILURE”。

    0x00000109

    此BSOD表示内核已检测到关键内核代码或数据损坏。蓝屏错误代码0x00000109也可能在同一蓝屏上显示“CRITICAL_STRUCTURE_CORRUPTION”。

    0x0000010A

    这种BSOD并不常见。蓝屏错误代码0x0000010A也可能在同一蓝屏上显示“APP_TAGGING_INITIALIZATION_FAILED”。

    0x0000010C

    此BSOD意味着在文件系统运行时库(FsRtl)额外创建参数(ECP)软件包中检测到违规行为。BSOD错误代码0x0000010C也可能在同一蓝屏上显示“FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION”。

    0x0000010D

    此BSOD表示内核模式驱动程序框架(KMDF)检测到Windows在基于框架的驱动程序中发现错误。BSOD错误代码0x0000010D也可能在同一蓝色屏幕上显示“WDF_VIOLATION”。

    0x0000010E

    这个BSOD意味着视频内存管理器遇到了无法恢复的情况。蓝屏错误代码0x0000010E也可能在同一蓝屏上显示“VIDEO_MEMORY_MANAGEMENT_INTERNAL”。

    0x0000010F

    此BSOD表示内核事务管理器检测到内核模式资源管理器已引发异常以响应直接回调。资源管理器处于意外且不可恢复的状态。BSOD错误代码0x0000010F也可能在同一蓝屏上显示“RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED”。

    0x00000111

    此BSOD表示在先前的NMI正在进行时发生了不可屏蔽中断(NMI)。BSOD错误代码0x00000111也可能在同一蓝屏上显示“RECURSIVE_NMI”。

    0x00000112

    此BSOD意味着Msrpc.sys驱动程序已启动STOP代码。BSOD错误代码0x00000112也可能在同一蓝屏上显示“MSRPC_STATE_VIOLATION”。

    0x00000113

    此BSOD表示dxg内核已检测到违规。BSOD错误代码0x00000113也可能会在同一蓝色屏幕上显示“VIDEO_DXGKRNL_FATAL_ERROR”。

    0x00000114

    这个BSOD意味着影子驱动程序检测到违规行为。蓝屏错误代码0x00000114也可能在同一蓝屏上显示“VIDEO_SHADOW_DRIVER_FATAL_ERROR”。

    0x00000115

    此BSOD意味着加速图形端口(AGP)驱动程序检测到违规。BSOD错误代码0x00000115也可能在同一蓝屏上显示“AGP_INTERNAL”。

    0x00000116

    此蓝屏表示尝试重置显示驱动程序并从超时恢复失败。BSOD错误代码0x00000116也可能在同一蓝色屏幕上显示“VIDEO_TDR_ERROR”。

    0x00000117

    该BSOD意味着显示驱动程序未能及时响应。蓝屏错误代码0x00000117也可能会在同一蓝屏上显示“VIDEO_TDR_TIMEOUT_DETECTED”。

    0x00000119

    此BSOD表示视频调度程序已检测到致命违规。BSOD错误代码0x00000119也可能在同一蓝色屏幕上显示“VIDEO_SCHEDULER_INTERNAL_ERROR”。

    0x0000011A

    这种BSOD并不常见。蓝屏错误代码0x0000011A也可能在同一蓝屏上显示“EM_INITIALIZATION_FAILURE”。

    0x0000011B

    这个BSOD意味着一个驱动程序已经从取消全局取消锁定的取消例程返回。这会导致所有后续取消调用失败,并导致死锁或其他STOP代码。蓝屏错误代码0x0000011B也可能在同一蓝屏上显示“DRIVER_RETURNED_HOLDING_CANCEL_LOCK”。

    0x0000011C

    此BSOD意味着尝试写入配置管理器的只读受保护存储器。BSOD错误代码0x0000011C也可能在同一蓝色屏幕上显示“ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE”。

    0x0000011D

    此BSOD表示事件跟踪子系统遇到意外的致命错误。BSOD错误代码0x0000011D也可能在同一蓝色屏幕上显示“EVENT_TRACING_FATAL_ERROR”。

    0x00000121

    这个BSOD意味着司机造成了违规。BSOD错误代码0x00000121也可能在同一蓝色屏幕上显示“DRIVER_VIOLATION”。

    0x00000122

    此BSOD表示已发生Windows硬件错误体系结构(WHEA)中的内部错误。BSOD错误代码0x00000122也可能在同一蓝色屏幕上显示“WHEA_INTERNAL_ERROR”。

    0x00000124

    此BSOD表示发生了致命的硬件错误。使用Windows硬件错误体系结构(WHEA)提供的错误数据。BSOD错误代码0x00000124也可能在同一蓝色屏幕上显示“WHEA_UNCORRECTABLE_ERROR”。

    0x00000127

    这个BSOD意味着一个应该填充零的页面不是。这可能是由于硬件错误或操作系统的特权组件释放后修改了页面而发生的。蓝屏错误代码0x00000127也可能在同一蓝屏上显示“PAGE_NOT_ZERO”。

    0x0000012B

    此BSOD表示在此页面中发现了一位错误。这是硬件内存错误。BSOD错误代码0x0000012B也可能在同一蓝色屏幕上显示“FAULTY_HARDWARE_CORRUPTED_PAGE”。

    0x0000012C

    此BSOD表示扩展文件分配表(exFAT)文件系统中出现问题。BSOD错误代码0x0000012C也可能在同一蓝屏上显示“EXFAT_FILE_SYSTEM”。

    0x1000007E

    这个BSOD意味着系统线程产生了一个错误处理程序没有捕获的异常。蓝屏错误代码0x1000007E也可能在同一蓝屏上显示“SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M”。

    0x1000007F

    此BSOD表示Intel CPU生成陷阱,内核无法捕获此陷阱。蓝屏错误代码0x1000007F也可能在同一蓝屏上显示“UNEXPECTED_KERNEL_MODE_TRAP_M”。

    0x1000008E

    这个BSOD意味着一个内核模式程序产生了一个错误处理程序没有捕获的异常。蓝屏错误代码0x1000008E也可能在同一蓝屏上显示“KERNEL_MODE_EXCEPTION_NOT_HANDLED_M”。

    0x100000EA

    这个BSOD意味着设备驱动程序中的线程无限旋转。蓝屏错误代码0x100000EA也可能在同一蓝屏上显示“THREAD_STUCK_IN_DEVICE_DRIVER_M”。

    0xC0000218

    此BSOD意味着无法加载注册表文件。BSOD错误代码0xC0000218也可能在同一蓝色屏幕上显示“STATUS_CANNOT_LOAD_REGISTRY_FILE”。

    是0xC000021A

    这个BSOD意味着在关键的用户模式子系统中发生了错误。BSOD错误代码0xC000021A也可能在同一蓝色屏幕上显示“STATUS_SYSTEM_PROCESS_TERMINATED”。

    0xC0000221

    这个BSOD意味着驱动程序或系统DLL已损坏。蓝屏错误代码0xC0000221也可能在同一蓝屏上显示“STATUS_IMAGE_CHECKSUM_MISMATCH”。

    0xDEADDEAD

    这个BSOD意味着用户故意从内核调试器或键盘启动故障转储。蓝屏错误代码0xDEADDEAD也可能在同一蓝屏上显示“MANUALLY_INITIATED_CRASH1”。(是的,这意味着自己造成的BSOD!)

    没有你需要的,更多BSOD蓝屏错误代码添加中……

    展开全文
  • 代码的写法

    万次阅读 多人点赞 2016-12-09 14:24:06
    代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 ...

    伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。

      它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不标准的语言。我们可以将整个算法运行过程的结构用接近自然语言的形式(这里,你可以使用任何一种你熟悉的文字,中文,英文 等等,关键是你把你程序的意思表达出来)描述出来. 使用伪代码, 可以帮助我们更好的表述算法, 不用拘泥于具体的实现.

      人们在用不同的编程语言实现同一个算法时意识到,他们的实现(注意:这里是实现,不是功能)很不同。尤其是对于那些熟练于不同编程语言的程序员要理解一个(用其他编程语言编写的程序的)功能时可能很难,因为程序语言的形式限制了程序员对程序关键部分的理解。这样伪代码就应运而生了。

      当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。计算机科学在教学中通常使用虚拟码,以使得所有的程序员都能理解。

      综上,简单的说,让人便于理解的代码。不依赖于语言的,用来表示程序执行过程,而不一定能编译运行的代码。在数据结构讲算法的时候用的很多。 

    语法规则

      例如,类Pascal语言的伪代码的语法规则是: 在伪代码中,每一条指令占一行(else if,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进。

        算法的伪代码语言在某些方面可能显得不太正规,但是给我们描述算法提供了很多方便,并且可以使我们忽略算法实现中很多麻烦的细节。通常每个算法开始时都要描述它的输入和输出,而且算法中的每一行都给编上号码,在解释算法的过程中会经常使用算法步骤中的行号来指代算法的步骤。算法的伪代码描述形式上并不是非常严格,其主要特性和通常的规定如下:
            1) 算法中出现的数组、变量可以是以下类型:整数、实数、字符、位串或指针。通常这些类型可以从算法的上下文来看是清楚的,并不需要额外加以说明。
            2) 在算法中的某些指令或子任务可以用文字来叙述,例如,"设x是A中的最大项",这里A是一个数组;或者"将x插入L中",这里L是一个链表。这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。
            3) 算术表达式可以使用通常的算术运算符(+,-,*,/,以及表示幂的^)。逻辑表达式可以使用关系运算符=,≠,<,>,≤和≥,以及逻辑运算符与(and),或(or),非(not)。
            4) 赋值语句是如下形式的语句:a<-b 。
    这里a是变量、数组项,b是算术表达式、逻辑表达式或指针表达式。语句的含义是将b的值赋给a。
            5) 若a和b都是变量、数组项,那么记号a<->b 表示a和b的内容进行交换。
            6) goto语句具有形式
                                            goto label(goto标号)
    它将导致转向具有指定标号的语句。
            7) 条件语句有以下两种形式:
                                                if c then s或者
                                                   if c then s
                                                      else s′
    这里c是逻辑表达式,s和s′是单一的语句或者是被括在do和end之间的语句串。对于上述两种形式,假若c为真,则s被执行一次。假若c为假,则在第一种形式中,if语句的执行就完成了,而在第二种形式中,执行s′。在所有的情况下,控制就进行到了下一个语句,除非在s或s′中的goto语句使控制转向到其它地方。
             8) 有两种循环指令:while和for。
             while语句的形式是
                                                  while c do 
                                                        s
                                                      end
    这里c是逻辑表达式,而s是由一个或更多个语句组成的语句串。当c为真时,执行s。在每一次执行s之前,c都被检查一下;假若c为假,控制就进行到紧跟在while语句后面的语句。注意,当控制第一次达到while语句时,假若c为假,则s一次也不执行。 
           for语句的形式是
                                          for var init to limit by incr do
                                                            s
                                                          end
    这里var是变量,init、limit和incr都是算术表达式,而s是由一个或多个语句组成的语句串。初始时,var被赋予init的值。假若incr≥0,则只要var≤limit,就执行s并且将incr加到var上。(假若incr<0,则只要var≥limit,就执行s并且将incr加到var上)。incr的符号不能由s来该改变。
          9) exit语句可以在通常的结束条件满足之前,被用来结束while循环或者for循环的执行。exit导致转向到紧接在包含exit的(最内层)while或者for循环后面的一个语句。
         10) return用来指出一个算法执行的终点;如果算法在最后一条指令之后结束,它通常是被省略的;它被用得最多的场合是检测到不合需要的条件时。return的后面可以紧接被括在引号的信息。
          11) 算法中的注释被括在/* */之中。诸如read和output之类的各种输入或者输出也在需要时被用到。
         

    伪代码实例

      伪代码只是像流程图一样用在程序设计的初期,帮助写出程序流程。简单的程序一般都不用写流程、写思路,但是复杂的代码,最好还是把流程写下来,总体上去考虑整个功能如何实现。写完以后不仅可以用来作为以后测试,维护的基础,还可用来与他人交流。但是,如果把全部的东西写下来必定可能会让费很多时间,那么这个时候可以采用伪代码方式。比如:

      IF 九点以前 THEN

         do 私人事务;

      ELSE 9点到18点 THEN

      工作;

      ELSE

      下班;

      END IF

      这样不但可以达到文档的效果,同时可以节约时间. 更重要的是,使结构比较清晰,表达方式更加直观.

      下面介绍一种类Pascal语言的伪代码的语法规则。

      在伪代码中,每一条指令占一行(else if 例外,),指令后不跟任何符号(Pascal和C中语句要以分号结尾);

      书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进; 

      在伪代码中,通常用连续的数字或字母来标示同一即模块中的连续语句,有时也可省略标号。

      符号△后的内容表示注释;

      在伪代码中,变量名和保留字不区分大小写,这一点和Pascal相同,与C或C++不同;

      在伪代码中,变量不需声明,但变量局部于特定过程,不能不加显示的说明就使用全局变量;

      赋值语句用符号←表示,x←exp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值i←j←e是将表达式e的值赋给变量i和j,这种表示与j←e和i←e等价。

      例如:

      x←y

      x←20*(y+1)

      x←y←30

      以上语句用C分别表示为:

      x = y;

      x = 20*(y+1);

      x = y = 30;

      选择语句用if-then-else来表示,并且这种if-then-else可以嵌套,与Pascal中的if-then-else没有什么区别。

      例如:

      if (Condition1)

      then [ Block 1 ]

      else if (Condition2)

      then [ Block 2 ]

      else [ Block 3 ]

      循环语句有三种:while循环、repeat-until循环和for循环,其语法均与Pascal类似,只是用缩进代替begin - end;

      例如:

      1. x ← 0

      2. y ← 0

      3. z ← 0

      4. while x < N

      1. do x ← x + 1

      2. y ← x + y

      3. for t ← 0 to 10

      1. do z ← ( z + x * y ) / 100

      2. repeat

      1. y ← y + 1

      2. z ← z - y

      3. until z < 0

      4. z ← x * y

      5. y ← y / 2

       上述语句用C或C++来描述是:

      x = y = z = 0;

      while( z < N )

      {

      x ++;

      y += x;

      for( t = 0; t < 10; t++ )

      {

      z = ( z + x * y ) / 100;

      do {

      y ++;

      z -= y;

      } while( z >= 0 );
         }
      z = x * y;

      }

      y /= 2;

      数组元素的存取有数组名后跟“[下标]”表示。例如A[j]指示数组A的第j个元素。符号“ …”用来指示数组中值的范围。

      例如:

      A[1…j]表示含元素A[1], A[2], … , A[j]的子数组;

      复合数据用对象(Object)来表示,对象由属性(attribute)和域(field)构成。域的存取是由域名后接由方括号括住的对象名表示。

      例如:

      数组可被看作是一个对象,其属性有length,表示其中元素的个数,则length[A]就表示数组A中的元素的个数。在表示数组元素和对象属性时都要用方括号,一般来说从上下文可以看出其含义。

      用于表示一个数组或对象的变量被看作是指向表示数组或对象的数据的一个指针。对于某个对象x的所有域f,赋值y←x就使f[y]=f[x],更进一步,若有f[x]←3,则不仅有f[x]=3,同时有f[y]=3,换言之,在赋值y←x后,x和y指向同一个对象。

      有时,一个指针不指向任何对象,这时我们赋给他nil。

      函数和过程语法与Pascal类似。

      函数值利用 “return (函数返回值)” 语句来返回,调用方法与Pascal类似;过程用 “call 过程名”语句来调用;

      例如:

      1. x ← t + 10

      2. y ← sin(x)

      3. call CalValue(x,y)

      参数用按值传递方式传给一个过程:被调用过程接受参数的一份副本,若他对某个参数赋值,则这种变化对发出调用的过程是不可见的。当传递一个对象时,只是拷贝指向该对象的指针,而不拷贝其各个域。  

     
    展开全文
  • VSCode代码自动补全html标签、css属性及值 - 无插件

    万次阅读 多人点赞 2019-09-24 13:41:13
    不需要插件,VSCode代码自动补全(html标签、...首先,取消选中(控制在活动代码片段内是否禁用快速建议) 修改路径(截图示下): 设置 --> 文本编辑器 (建议)--> 取消选中 Suggest:Snippets Prevent Q...

    不需要插件,VSCode代码自动补全(html标签style样式、css属性及值、),修改配置文件即可完成!


    效果图 · 演示如下:

    在这里插入图片描述


    操作步骤 · 如下:

    本编辑器已经汉化,所以截图如下。

    首先,取消选中(控制在活动代码片段内是否禁用快速建议)

    修改路径(截图示下):

    1. 设置 -->
    2. 文本编辑器 (建议)-->
    3. 取消选中 Suggest:Snippets Prevent Quick Suggestions (控制在活动代码片段内是否禁用快速建议)
    4. 完成第一步。剩下的就是修改配置文件:settings.json

    在这里插入图片描述
    在这里插入图片描述


    如何修改配置文件settings.json

    1. 首先找到文件(截图示下) · 找到并点击 “设置”:
      在这里插入图片描述

    2. 然后,弹出(如下图所示)弹框界面:

      在这里插入图片描述

    3. 然后,点击(如上图)的 “黄色的空心矩形框”,弹出settings.json文件(截图如下)。
      在这里插入图片描述

    4. 开始修改文件settings.json
      修改之前 · 全部代码如下:

      {
          "window.zoomLevel": 0,
          "terminal.integrated.rendererType": "dom"
      }
      

      修改之后 · 全部代码如下:

      {
          "window.zoomLevel": 0,
          "terminal.integrated.rendererType": "dom",
          "editor.suggest.snippetsPreventQuickSuggestions": false,
          "files.associations": {
              "*.vue":"html"
          }
      }
      

    附:参考文章

    1. 解决vscode没有代码提示

    以上就是关于“ VSCode代码自动补全html标签、、css属性及值 - 无插件 ” 的全部内容。

    展开全文
  • 1行Python代码制作动态二维码

    万次阅读 多人点赞 2019-09-07 18:02:42
    近日在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码、艺术二维码(黑白/彩色)和动态GIF二维码。
  • idea快速开发之代码块编辑

    万次阅读 多人点赞 2020-05-09 17:59:28
    介绍如何同时编辑一大块的代码(即如何让光标的位置同时停留在一大块代码行中)。
  • 博客文章《完成端口详解》配套代码

    千次下载 热门讨论 2011-10-31 17:50:38
    这份代码是我博客里的文章《完成端口详解 - 手把手教你玩转网络编程系列之三》的配套代码 里面的代码包括VC++2008/VC++2010编写的完成端口服务器端的代码,还包括一个对服务器端进行压力测试的客户端,都是经过我...
  • 历久而新,我的新书《第二行代码》已出版!

    万次阅读 多人点赞 2016-11-23 09:49:08
    《第二行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、...
  • vs code 代码格式化整理

    万次阅读 多人点赞 2018-05-22 18:13:16
    vs code格式化代码的快捷键如下:(来源于这里)On Windows Shift + Alt + FOn Mac Shift + Option + FOn Ubuntu Ctrl + Shift + I但是自带的格式化并不能满足我的需求,这个时候,不得不说插件大法...
  • 一行 Python 代码能实现什么丧心病狂的功能?

    万次阅读 多人点赞 2019-07-19 10:57:09
    你在 python 使用过程中用一行代码实现过哪些激动人心的功能呢?欢迎留言讨论。手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,织成一个三...
  • IDEA安装阿里代码规范插件

    万次阅读 多人点赞 2018-04-25 13:55:43
    要养成一个好的编码习惯从自己编码开始,对自己代码的合理化命名,编码不仅对自己有好处,而且别人也容易读懂你的代码。所以下载阿里的代码规范插件来约束自己凌乱的代码。阿里规范插件GitHub地址:...
  • 下载和运行GitHub上的代码教程总结

    万次阅读 多人点赞 2018-06-16 19:27:35
    从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄。然而,今天终于成功了,激动地我赶紧来记录一下。 ...
  • 当我们使用IDE写代码时,为了保证代码的可阅读性和优雅性,通常会借助IDE的代码风格设置功能,令IDE智能完成的代码部分或者格式化输入的代码,可以按照预期的格式输出。其中有一项设置就是限制一行代码的宽度,以...
  • 如何优雅的在 Microsoft word中插入代码

    万次阅读 多人点赞 2018-03-11 20:44:29
    一、工具方法1.打开这个网页PlanetB;方法2.或者谷歌搜索syntax highlight code in word documents,检索结果的第一个。如下图:PS....二、步骤1....该网页会自动将该代码生成到一个新的页面,此时ct...
  • vbs整人代码,表白+提醒 两段代码就OK

    万次阅读 多人点赞 2018-06-16 20:27:27
    在沉闷的工作环境下,有时玩玩整人代码也不错,整人代码一般使用VBS脚本来实现,简单的两行代码就可以实现表白+提醒了,不过大家也要警惕VBS脚本的危险性,下面小编分享的只是整人简单脚本,大家可以随便玩!...
  • 用HTML+CSS代码制作3D旋转相册

    万次阅读 多人点赞 2018-09-19 21:37:53
    手打代码: &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head lang=&quot;en&quot;&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; ...
  • Git 提交代码步骤

    万次阅读 多人点赞 2019-04-15 14:50:44
    提交代码第一步:git status 查看当前状态 当你忘记修改了哪些文件的时候可以使用 git status 来查看当前状态, 红色的字体显示的就是你修改的文件。 第二步: 提交代码第二步:git add . 或者 git add xxx 如...
  • idea快速开发之代码模板的使用方法

    万次阅读 多人点赞 2020-05-04 22:01:06
    学习时,使用IDEA编写Java的时候,经常使用到不少代码模板,熟悉代码模板可以提高编码效率。以下介绍开发时经常使用到的代码模板。 idea代码模板使用教程目录一、 常用代码模板1.1 使用代码模板1.2 常见的代码模板二...
  • 用VsCode写Python,代码提示代码规范方法

    万次阅读 多人点赞 2017-05-04 15:56:19
    在使用Python 开发的时候,一款好的编辑器简直可以提高代码效率以及质量好几倍。而Vs Code 就是一个不错的选择。你值得拥有。 而且还支持markdown,其他各种各样的语言当然,最主要的还是好看效果图: VScode...
  • vbs表白代码+整人代码,抖音vbscript表白代码

    万次阅读 多人点赞 2018-09-30 00:47:38
    步骤二:将以下代码复制过去(中文可以改) const title = “爱情测试” const yourname = “嫦娥” const question = “你最喜欢的人是谁?请在下面的方框中输入他(她)的名字。” const info = “你在说谎!不要...
  • CSS各种对齐代码,左对齐、右对齐、中间对齐、底部对齐、两端对齐等,代码简单 /*CSS代码:*/ /*左对齐*/ .left { text-align: left; border: 1px dotted black; width: 50%; } /*右对齐*/ .right { text-...
  • NewTech:低代码(0代码/无代码,无需代码)开发的简介以及如何选择最合适的低代码开发工具 低代码Low-Code和低代码开发平台LCDP的简介 一般来讲,我们常说的低代码其实就是指低代码工具或者低代码开发平台。低...
  • 手把手教你设置 IntelliJ IDEA 的彩色代码主题

    万次阅读 多人点赞 2018-01-14 14:49:55
    温馨提示:本教程的 GitHub 地址为「intellij-idea-...首先,给出一系列 IntelliJ IDEA 代码的彩色主题,供大家选择: VibrantUnknown(Darcula) FadeComments NicePython Solarized Havenjark
  • 一个贼简单的代码表白

    万次阅读 多人点赞 2019-06-10 22:13:25
    前一阵网上挺火的各种表白代码, 自己学着也做了一个 记事本编写,后缀改为vbs 就能运行了。 (其中有一串代码会关机的呦,我是WIN10系统) set ws=createobject(“wscript.shell”) ws.run"cmd.exe /c ...
  • CSDN搜索可以搜博客代码

    万次阅读 多人点赞 2020-09-01 13:58:21
    CSDN搜索可以搜索代码代码搜索 试了下还是很方便的 1. 目前看在搜参数怎么配置、命令使用、算法如何实现时,还是比较方便的,基本前几条就可以直接使用了 2. 代码搜索比较适用于,自己知道大概,但忘了具体细节的...
  • QQ在线客服代码 网页qq咨询html代码

    万次阅读 2019-06-13 11:28:33
    首先在QQ商家设置代码中的QQ号码(875001151)为在线状态: 用这个商家QQ(875001151)登录http://shang.qq.com/widget/set.php,然后花三分钟设置一下就可以了。 在html中加入以下代码:...
  • django天天生鲜项目源代码

    万次阅读 2020-12-11 16:31:54
    django天天生鲜项目源代码: 链接:https://pan.baidu.com/s/1I8rDxxx9TlPu7kjb2oeK3A 提取码:va9v 复制这段内容后打开百度网盘手机App,操作更方便哦
  • 代码雨”纯HTML源码实现及效果

    万次阅读 多人点赞 2017-05-08 15:19:36
    先看看效果 1、绿色: 2、彩色: ...源代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <ti...
  • c/c++ 代码优化及常见错误 c语言位运算的妙用-程序优化 c/c++进制转换方法汇总(含全部代码) 二进制数-北邮2012研究生复试 质因子分解 除树和图外的数据结构可以使用STL: C++ STL的使用 数据结构 线性表 ...
  • 代码时代来临,程序员如何保住饭碗?

    万次阅读 多人点赞 2020-03-27 15:24:14
    程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,191,144
精华内容 2,076,457
关键字:

代码