自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(898)
  • 资源 (13)
  • 收藏
  • 关注

原创 GESP编程等级认证C++三级9-字符串2

本文介绍了C++中输入字符串的两种方法:cin和getline。cin在遇到空格时会停止输入,而getline可以读取包含空格的完整字符串。文章还通过代码示例展示了这两种方法的使用,并提醒使用getline时需要包含string头文件。此外,文章解析了2024年12月和6月的几道真题,涉及字符串下标越界、字符遍历及ASCII编码值的计算等内容,帮助读者理解字符串处理中的常见问题。

2025-05-23 17:10:23 719

原创 GESP编程等级认证C++三级8-字符串1

在C++中,字符串是一种基本数据类型,使用string表示。字符串变量可以通过直接赋值或使用构造函数来定义,如s1和s2均被初始化为"hello"。字符串中的单个字符可以通过下标访问,例如s1[2]将返回'l'。需要注意的是,字符串的下标范围是0到长度减1,访问超出此范围的下标会导致“越界”错误。字符串末尾隐式包含结束字符\0,访问此字符不会越界但无法打印。通过length()或size()函数可以获取字符串中字符的个数,不包括结束字符。使用for循环可以遍历字符串中的所有字符,循环变量

2025-05-23 17:08:56 535

原创 GESP编程等级认证C++三级6-字符、字符数组与字符串1

在C++中,字符和字符串是基本的数据类型,但它们在内存中的表示和存储方式有所不同。字符(char)用单引号包围,占1个字节,存储的是字符的ASCII值。字符串(string)由多个字符组成,用双引号包围,末尾隐式包含一个结束符'\0',因此其内存占用比字符多。字符数组是字符的集合,可以通过字符串进行初始化,但需注意字符串末尾的'\0'会占用一个数组元素的位置。理解这些差异对于正确处理字符和字符串操作至关重要。

2025-05-22 10:35:36 324

原创 GESP编程等级认证C++三级7-字符、字符数组与字符串2

使用字符串定义字符数组虽然需要额外考虑末尾的“\0”,但这种方法在实际应用中具有显著优势。通过字符串初始化的字符数组(如a4)能够正确打印,因为“\0”作为字符串结束标志,使得输出函数在遇到“\0”时停止。而直接初始化的字符数组(如a7)由于缺少“\0”,会导致输出函数继续打印内存中的随机数据,产生乱码。此外,使用strlen()函数获取字符数组长度时,不包含“\0”,而sizeof()则包含“\0”。这些特性在处理字符串时提供了便利和准确性,尽管看似“麻烦”,但实际应用中不可或缺。

2025-05-22 10:33:25 626

原创 GESP编程等级认证C++三级5-数组5

本文讨论了C++中数组的赋值、定义及遍历方法。首先,数组不能直接赋值,需通过for循环逐个元素赋值。其次,全局数组和局部数组在未初始化时,全局数组元素默认为0,局部数组元素值不确定。此外,for循环可用于正向或逆向遍历数组。最后,通过真题解析展示了数组操作的实际应用,包括元素赋值、条件判断及输出。这些知识点对理解和使用数组至关重要。

2025-05-21 09:49:30 583

原创 GESP编程等级认证C++三级4-数组4

本文主要探讨了数组在内存中的存储方式及其所占内存空间的计算方法。数组元素在内存中是顺序且连续存储的,因此数组的总内存空间等于其所有元素所占空间的总和。通过示例代码,展示了如何定义数组并计算其内存空间,例如一个包含6个整型元素的数组,每个整型占4字节,总内存空间为24字节。此外,文章还介绍了如何使用sizeof()函数获取数组和基本数据类型的内存大小,并基于此计算数组中的元素个数。最后,通过真题解析,进一步巩固了数组内存空间计算的相关知识。

2025-05-21 09:47:05 449

原创 GESP编程等级认证C++三级3-数组3

数组中的元素可以通过下标访问,下标表示元素在数组中的编号,范围从0到(元素个数-1)。数组在内存中是连续存储的,因此通过下标可以快速定位元素。使用下标访问时需注意不能越界,否则可能获取到错误或不确定的值。通过for循环可以遍历数组中的元素,循环变量的值必须在下标范围内。真题解析中强调了避免下标越界的重要性,并指出数组初始化时默认值为0。

2025-05-20 12:29:59 402

原创 GESP编程等级认证C++三级2-数组2

文章摘要:本文介绍了数组初始化的方法及注意事项。一般方法要求在定义数组时指定长度,并通过大括号内的元素值进行初始化,元素值的数量需与数组长度一致。扩展方法包括省略数组长度初始化、自动补零初始化和全部元素为零的初始化。省略长度时,数组长度由元素值数量决定;元素值少于长度时,未指定元素自动补零;使用空大括号可将所有元素初始化为零。文章还通过真题解析,强调了数组定义时需指定长度或元素值,且长度必须为整型。

2025-05-19 10:30:45 309

原创 GESP编程能力等级认证C++3级1-数组1

GESP(CCF编程能力等级认证)为青少年提供编程能力验证,覆盖中小学阶段,分为C++编程一至八级。C++三级知识点包括数组的定义与使用,强调数组长度必须为正整数、常量或常量表达式,不能为变量或非正数。真题解析展示了如何正确定义数组及常见错误。GESP旨在提升青少年编程素养,培养解决实际问题的能力,并为学员提供编程能力证明。

2025-05-18 19:09:44 321

原创 从零开始学Python游戏编程50-二维数组4

property 是Python的内建装饰器,用来将方法“变身”成属性。通俗一点讲,它让你能够像访问属性一样,直接调用方法,而不必写那些冗长的 getter 和 setter 方法。你可以通过 @property 来控制属性的读取、修改和删除等操作,实现更细致的权限管理。它不仅让代码看起来更简洁,还能提升代码的可读性,避免过多的重复代码。用它,像是给代码装上了魔法引擎,让你在方法和属性之间轻松穿梭,打造出更优雅、简洁的编程风格。

2025-05-07 11:36:02 44

原创 从零开始学Python游戏编程49-二维数组3

在UserInterface类中,定义显示“小背景”的方法renderGround(),如图14所示。图14 显示“小背景”的方法renderGround()的代码其中,第100行中renderGround()的position参数表示“小背景”在游戏窗口中的位置;tile参数表示使用游戏背景图片集中的哪一块“小背景”;renderGround()的实现原理与renderUnit()相同。

2025-04-30 13:13:40 430

原创 从零开始学Python游戏编程48-二维数组2

添加了背景的移动坦克游戏效果如图1所示。

2025-04-30 13:12:11 291

原创 从零开始学Python游戏编程47-二维数组1

二维数组指的是元素是列表的列表,如图2所示的代码中定义了一个二维数组。图2 定义二维数组的代码。

2025-04-30 13:10:55 146

原创 从零开始学Python游戏编程46-类的继承3

其中,第85行中函数的参数unit表示要绘制的“单位”,可以是玩家坦克也可以是防御塔,因为玩家坦克和防御塔具有相同的属性。第86行代码确定绘制的“单位”在游戏窗口中的位置;第92-94行代码绘制了“单位”的上半部内容(武器部分),第92行中的Vector2(0,6)表示上半部内容是图片集中第7行第1列的图片,如图6所示。UserInterface类的render()方法用于绘制玩家坦克和防御塔,在该方法中,调用renderUnit()来实现绘制功能,代码如图7所示。图6 “单位”的武器部分示意图。

2025-04-29 11:26:12 55

原创 从零开始学Python游戏编程45-类的继承2

对于“移动坦克”游戏中的坦克和防御塔,也可以通过类的继承来实现。

2025-04-29 11:24:45 39

原创 从零开始学Python游戏编程44-类的继承1

其中,第22行定义了一个列表computations,该列表中包含了Computation类的实例(Sum类和Product类都是Computation类的子类)的实例。第14行中,类名Sum后圆括号中的Computation表示定义的Sum类是Computation的子类,子类Sum类继承了父类Computation的所有属性和方法,因此在Sum类中无需再定义这两个整型属性。对于Sum类和Product类来说,其相同的功能是都包含两个整型属性,不同的功能是对这两个属性的操作。图1 Sum类的代码。

2025-04-29 09:46:56 121

原创 从零开始学Python游戏编程43-列表3

通过列表,改写提到的代码。将游戏中的多个防御塔数据写入到列表中,之后在处理玩家坦克与防御谈碰撞以及显示防御塔时,使用列表可以简化代码。

2025-04-28 10:01:53 50

原创 从零开始学Python游戏编程42-列表2

其中,第9行代码中,通过enumerate()函数获取mylist中元素的下标及元素的值,通过for循环遍历所有,index表示下标,item表示值。在“1.2 访问列表中的数据”中提到,可以通过列表的下标来查看列表中的单个数据。查看列表中所有的数据,叫做“遍历列表”,可以通过for循环遍历列表,代码如图12所示。如果我们需要直到每个数据对应的下标,也就是要同时获取列表中的下标和数据时,可以通过enumerate()函数实现,代码如图14所示。通过下标可以修改列表中的数据,代码如图10所示。

2025-04-27 10:06:00 493

原创 从零开始学Python游戏编程41-列表1

在Python中,列表(list)能够用来存储和处理数据,例如可以将中提到的防御塔位置的数据放到列表中。

2025-04-27 10:04:58 331

原创 从零开始学Python游戏编程40-碰撞处理2

newTankPos可以看作是坦克“理论上”的新位置,“理论上”的新位置指的是只有某些条件满足时,坦克才会出现在新位置上,第24-26行就指定了这些条件,包括坦克的位置必须在游戏窗口范围内,并且新位置不能在两个防御塔的位置上,满足以上条件,第27行才会将坦克的位置设置为新位置,否则坦克的位置不会改变。从图2中可以看出,防御塔实际上是图4中第2行第1列的图像与第7行第1列图像的组合,绘制防御塔的代码只需要将图5中绘制完整坦克代码中相应的行列坐标改为防御塔所需的行列坐标即可,在render()方法中。

2025-04-25 17:02:46 727

原创 从零开始学Python游戏编程39-碰撞处理1

在代码的基础上,添加两个敌人的防御塔,玩家的坦克无法移动到防御塔所在的空格中,如图1所示。图1 游戏中的碰撞处理。

2025-04-25 16:59:16 405

原创 从零开始学Python游戏编程38-精灵5

第70行中定义的变量texturePoint表示要绘制的贴图在贴图集中的位置,Vector2(1,0)表示贴图位于贴图集的第1行,第2列(Vector2的第一个参数表示列数,第二个参数表示行数,都是从0开始的),其示意图如图10所示。render()方法的作用是根据tankPos在游戏窗口中绘制坦克精灵,在绘制坦克精灵时,需要确定的数据是坦克精灵所在空格的左上角横纵坐标,以及绘制要绘制的贴图在贴图集中的位置,代码如图8所示。其它部分的代码与“矩形移动”游戏中的代码相同,请参考下一节的完整代码。

2025-04-24 11:53:52 355

原创 从零开始学Python游戏编程37-精灵4

第57-58行,当玩家点了向左的箭头按键,此时将moveTankCommand中表示列数的属性x设置为-1,表示坦克向左移动1格;在UserInterface类的__init__()方法方法中,主要不同是根据图2中的空格行列数设置游戏窗口的大小,并且将移动坦克精灵的指令moveTankCommand设置为Vector2类型,代码如图5所示。update()方法的主要作用是根据移动坦克指令moveTankCommand,更新坦克精灵的所在行列数,即更新坦克精灵的位置,代码如图7所示。

2025-04-24 11:52:18 963

原创 从零开始学Python游戏编程36-精灵3

在学习了如何显示坦克精灵后,我们将《从零开始学Python游戏编程33-指令模式2》中通过指令模式实现的“矩形移动”游戏改为“坦克移动”,即通过键盘控制坦克的移动。“坦克移动”游戏的效果如图1所示。图1 “坦克移动”游戏的效果。

2025-04-24 11:50:48 667

原创 从零开始学Python游戏编程35-精灵2

还可以通过pygame.math.Vector2类的实例来表示位置,在后面的内容中会看用这种方法表示位置带来的好处,代码如图6所示。范围信息一般包括四个数据,左上角横坐标,左上角纵坐标,宽度和高度,这四个数据确定后,贴图的范围也就确定了,如图7所示。其中,rectanlge是pygame.rect.Rect类的实例,64和0分别表示贴图左上角横纵坐标,后面的两个64分别表示贴图的宽度和高度。从图7中可以看出,如果要显示贴图集中绿框范围内的贴图,只需要指定该绿框范围的四个信息即可。图7 贴图的范围信息。

2025-04-23 11:29:25 387

原创 从零开始学Python游戏编程34-精灵1

精灵(sprite)也就是精灵对象,就是游戏中的一个具有行为的元素。以超级玛丽为例,玛丽,敌人都算是一个精灵对象。

2025-04-23 11:27:29 402

原创 从零开始学Python游戏编程33-指令模式2

在中提到的“移动矩形”游戏中,游戏数据(状态)与游戏界面都是在Game类中定义的,本着模块功能越简单越好的原则,可以将,游戏数据(状态)与游戏界面分离,即新创建一个表示游戏数据(状态)的类。

2025-04-22 12:52:13 483

原创 从零开始学Python游戏编程32-指令模式1

使用指令模式可以将处理玩家的输入和更新游戏数据的代码分离。使用指令模式,在处理玩家输入的函数processInput()中,对于玩家的不同输入,此时不是直接修改游戏数据,而是将玩家的输入作为修改游戏的指令保存起来;在更新游戏数据的函数update()中,再根据已经保存的修改游戏数据的指令,来修改游戏数据。

2025-04-22 10:48:47 802

原创 从零开始学Python游戏编程31-类3

其中,图12所示的代码可以看作是整个游戏的主程序,当游戏代码运行后,首先执行的是第48行所示的代码。第49行通过实例game调用run()方法运行游戏;其中,第43行控制while循环的是实例属性running,在图7所示的__init__()方法中定义;第44-46行代码分别调用了processInput()、update()和render()方法;在定义了游戏循环模式Game类之后,通过实例化该类,实现游戏的运行,代码如图12所示。run()方法的作用是在while循环中调用以上方法,运行游戏。

2025-04-18 16:54:46 512

原创 从零开始学Python游戏编程30-类2

游戏状态和游戏数据的init()函数,用来处理玩家通过键盘、鼠标以及手柄的输入信息的processInput()函数;其中,第39行中的self.window表示实例的window属性,该属性在图7所示的__init__()方法中定义,表示游戏窗口,该行代码的作用是设置游戏窗口的背景色;对于“移动矩形”的游戏来说,游戏数据是矩形左上角的横纵坐标x和y,这两个数据在processInput()方法中已经进行了更新,因此对于update()方法,使用pass表示该方法不做任何动作,代码如图9所示。

2025-04-18 16:53:40 500

原创 从零开始学Python游戏编程29-类1

可以通过类(class)对“移动矩形”游戏的代码进行重构,使得代码更加健壮和容易理解。

2025-04-17 09:49:50 264

原创 从零开始学Python游戏编程28-监听键盘4

其中,第6行代码通过pygame.image模块中的load()函数导入图标图片,该函数的参数即为图片名;第7行代码通过pygame.display模块中的set_icon()函数重新设置游戏的图标,该函数的参数是导入的图片变量。其中,通过pygame.display模块中的set_caption()函数设置游戏的标题,该函数的参数即为修改后标题的新内容,代码运行效果如图7所示。当游戏运行后,左上角会显示游戏标题和图标,如图5所示。通过图6所示代码修改游戏的标题。设置游戏图标的代码如图8所示。

2025-04-16 10:55:45 332

原创 从零开始学Python游戏编程27-监听键盘3

依然假设大概每5毫秒运行一次while循环,那么产生60帧所需的时间为60×5=300毫秒,则在1秒钟之内,该游戏释放了1000-300=700毫秒的CPU占用时间。运行设置帧率后的游戏,通过“设备管理器”可以看到,内存、CPU以及电源资源的占用率大大减少了。中的移动矩形的游戏中,没有设置帧率,此时的游戏会尽可能多地产生帧,而这些过多的帧无法在显示器中显示出来,浪费了电脑资源。移动矩形的游戏运行后,通过电脑的“设备管理器”可以看到,该游戏占用了大量的内存、CPU以及电源资源,如图1所示。

2025-04-16 10:54:13 437

原创 从零开始学Python游戏编程26-监听键盘2

第15-16代码表示,当玩家点击了向左的方向键时,将矩形左上角的横坐标减少8,达到向左移动矩形的效果。17-18行表示玩家点击了向右的方向键的处理,第19-20行表示玩家点击了向上方向键的处理,第21-22行表示玩家点击了向下方向键的处理。其中,K_ESCAPE是“Esc”按键的event.key,当玩家点击该按键后,将循环控制标志设置为False,循环结束后,游戏退出。要想让玩家可以通过键盘上的方向按键移动矩形,则需要对键盘上的方向按键进行监听,代码如图9所示。图11 点击“Esc”按键退出游戏的代码。

2025-04-15 10:54:35 396

原创 从零开始学Python游戏编程25-监听键盘1

移动矩形的位置,实际上就是要改变矩形左上角的横纵坐标。因此,首先需要将矩形左上角的横纵坐标定义为常量,代码如图6所示。图6 定义矩形左上角的横纵坐标的代码其中,x表示横坐标,y表示纵坐标。注意2 在while循环之前定义矩形左上角的横纵坐标。

2025-04-15 10:52:35 697

原创 从零开始学Python游戏编程24-Pygame库4

(0,0,255)是以元组的方式表示颜色的RGB值,元组中的第一个元素表示R(Red红色),第二个元素表示G(Green绿色),第三个元素表示B(Blue蓝色),每个元素的取值范围是0-255,0表示颜色最弱,255表示颜色最强,(0,0,255)表示R是0,G是0,B是255,即纯蓝色;第三个参数(120,120,400,240)是一个包含了四个元素的元组,表示矩形的位置和大小,其中前两个元素120表示矩形左上角的坐标,left=120,top=120,通过这个坐标,可以确定矩形的位置;

2025-04-14 10:45:28 376

原创 从零开始学Python游戏编程23-Pygame库3

如果玩家按下了关闭按键,第11行代码将控制循环的标志running设置为False,第7行中的while循环结束,程序退出。中提到,通过pygame.event.poll()函数获取事件队列中的事件,但是使用该函数一次只能获取一个事件,玩家按键的事件可能会隔一段时间才能被处理,导致游戏出现延迟。其中,第8行代码,通过pygame.event.get()函数获取事件队列中的所有事件,并将这些事件以列表的格式保存到变量eventList中,接下来,在Pygame编程框架代码的基础上,编写一个绘制矩形的代码。

2025-04-14 10:43:43 343

原创 从零开始学Python游戏编程22-Pygame库2

在成功安装了Pygame库之后,就可以使用该库中的函数和变量进行游戏编程了。

2025-04-11 12:12:11 668

原创 从零开始学Python游戏编程21-Pygame库1

在Python游戏编程中,我们主要使用的是Pygame库,该库主要用于编写2D游戏。但是在Spyder中并没有自带Pygame库,需要通过指令进行安装。

2025-04-11 11:37:05 291

原创 从零开始学Python游戏编程20-游戏循环模式2

第49行代码通过render()函数显示更新后的游戏状态和游戏数据。该函数中,根据playerNumber和magicNumber的关系,设置gameStatus,即完成了游戏状态的更新,最后以元组的方式返回更新后的游戏状态和游戏数据。update()函数的作用是根据玩家输入来更新游戏状态和游戏数据,因此该函数的参数有三个,分别表示游戏状态、游戏数据和玩家输入,代码如图5所示。render()函数的作用是显示更新后的游戏状态和游戏数据,因此该函数的参数有两个,分别表示游戏状态和游戏数据,代码如图6所示。

2025-04-10 16:16:39 1026

基于IOAPIC重定位的 键盘监听技术及防御

键盘监听技术会引起个人重要信息的泄露。通过对IOAPIC重定位技术的研究,实现了针对单核系统和多核系统的键盘监听和记录。在Windows Driver Kits7.0.1中编译生成的驱动,能够记录键盘信息,引起重要信息的泄露。通过提出的防御键盘监听的方法能够有效地预防键盘监听。

2017-03-27

Windows文件系统过滤驱动开发教程(第二版)

大约两年以前我在驱动开发网上发表了一组描述如何开发 Windows 文件系统过滤驱动的文章。非常庆幸这些文章能 给大家带来帮助。 原本的文章中我使用了自己编写的代码。我不打算在这里论述代码风格的优劣并发起一场辩论,无可怀疑的是,读者们 大多喜欢看到类似微软范例的代码。为此我把文章中的代码换成微软标准的文件过滤驱动范例 sfilter 的代码。赠于喜欢此 书的读者和驱动开发的后来者们。 网友们帮我整理的原版已经非常流行。为了区别起见,称为第二版。

2017-04-23

基于VS2015套接字完成端口模型源代码

《VS2015实现套接字完成端口模型》文章中提到的套接字完成端口模型源代码。文章地址为https://blog.youkuaiyun.com/hou09tian/article/details/80911809

2018-07-04

基于Java语言的安卓系统编程学习第一部分

基于Java语言的安卓系统程序编程:包括Eclipse环境搭建、项目结构解析、按键、菜单、控件UI、图像按键等。本内容为第一部分。

2017-04-23

ddkwizard_setup_v1.2.0a及ddkward.cmd

VS2008产生及编译驱动的工具。包括ddkwizard_setup_v1.2.0a.exe,ddkbuild_bat和ddkbuild_cmd。

2016-10-23

基于对话框程序的注册码快捷键粘贴功能的实现

程序的注册码的格式一般为“XXXX-XXXX-XXXX-XXXX”,在使用时将注册码输入到多个编辑框控件中,每个编辑框中输入一段。手动输入注册码非常麻烦,而采用快捷键进行粘贴时,只能逐个编辑框进行粘贴,而不能一次性粘贴完毕。 以上功能可以通过编程实现。

2017-04-23

贪吃蛇源代码

Windows控制台的贪吃蛇源代码,基于VS2010,可实现速度控制。

2019-01-16

VS2008编译驱动程序的配置方法

编译驱动程序的常用方法有两种,一种是通过WDK/DDK的COMMAND环境进行编译,另外一种是通过Visual Studio系列软件实现界面编译。通过Visual Studio编译驱动程序需要对其进行相关配置,本文以VS2008和WDK7600为例,讲解了实现编译驱动程序的配置方法。

2016-10-23

Windows7下VS2008维护模式破解工具.rar

VS2008试用版的估计期X天后结束,需要重新输入注册码时。Windows7会将VS2008维护模式中输入注册码的控件隐藏,使用本工具,可以在Windows7下显示VS2008维护模式中的输入注册码的控件,完成VS2008的重新注册!

2019-05-31

filespy源代码

能通过Netware Client32连接到网络,查看所有的用户在使用哪些文件,还可以查看某个用户对文件的权限,以及用户登录的时间等,当网络上要更新某个应用程序时,这个软件可以用来要求正在使用程序的用户退出.

2016-09-25

DirectDraw中文手册

DirectX 编程是现在图形编程特别是游戏编程的热点.而广大的 DirectX 编程爱好者被其帮助文档中的英文所苦,于是民间有不少的爱好者开始自己翻译其手册为中文,然后放在网上让大家共享.然而,由于缺乏组织,很多人都在做着重复的工作,结果浪费了很多的时间和精力.如果把这些自发的力量组织起来,无疑是件很有意义的事.而实现跨地域的组织工作,正是 Internet 的特长.因此我们决定在国际互联网上建立一个站点来专门进行 DirectX 手册的翻译组织工作,然后把翻译过的作品放在我们的主页上让每一个需要的人都可以得到.

2017-01-31

Windows Graphics Programming Win32 Gdi And Directdraw.chm

This book is about Windows graphics programming using Win32 GDI API, with an introduction to DirectDraw, and an even more brief introduction to Direct3D Immediate Mode. It covers common features implemented on all Win32 platforms, pure 32-bit features implemented on Windows NT/2000 only, and the most recent additions to GDI for Windows 2000 and Windows 98. For example, alpha blending, transparent bit blting, gradient fill, right-to-left reading order, layered window, and sending JPEG/PNG images to printer are fully covered.

2017-01-31

黑客调试技术解密pdf

本书是帮助应用程序员和系统程序员理解调试过程的指南,揭示了各种调试器的实用使用技巧,说明了如何操作调试器以及如何客服障碍和修复调试器,介绍了黑客利用调试器和反汇编器来寻找程序弱点和实施攻击的方法

2016-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除