- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 《汇编语言》学习(四)汇编程序
《汇编语言》第四章主要介绍“汇编程序从源码编写到执行和调试的过程”,包括:源码编写、源码构成、编译和链接、加载和返回shell、运行和调试。 本章是一般原理性的内容,没有安排练习题,只有一个实验题。在此,我将用一个思维导出来总结本章的知识点,并分享我搭建实验环境的过程,和给出实验题调试过程。一、知识图谱二、环境搭建 本系列第一篇博文我就提到了,我的汇编学习环境是
2016-09-29 16:59:57 762
原创 《汇编语言》学习(三)内存访问
《汇编语言》第三章主要介绍CPU对内存的访问方式:通用内存访问方式和栈内存访问方式。通用内存和栈内存只是访问方式不同,在存储器上没有区别。CPU对内存的访问都是通过“段+偏移”的方式,其中通用内存访问方式,应用的是DS寄存器指定待访问内存的段地址,偏移量直接用数值表示,相关的指令是“mov指令”;而栈内存访问方式,通过SS指定栈空间的段地址,SP指定偏移量,相关的指令是“push/pop”...
2016-09-23 16:31:19 1227
原创 Python学习(资源帖)
大部分资源来自google搜索:1,官网:https://www.python.org/ 提供安装包下载、帮助文档和社区等2,文档:http://python.usyiyi.cn/ python官方中文文档3,博客教程:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac927
2016-09-22 17:22:13 686
原创 Windows虚拟机
1,Windows虚拟机https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/下载win7-102,讲解http://www.iplaysoft.com/windows-test-vms.html3,win10使用版本https://developer.microsoft
2016-09-19 17:26:51 540
原创 《汇编语言》学习(二)寄存器
本文将总结《汇编语言》第二章——寄存器,相关知识点和习题答案。一、习题答案检测点2.11,写出下面每步运算后的结果mov ax, 62627 AX = f4a3 Hmov ah, 31H AX = 31a3 Hmov al, 23H AX = 3123 Hadd ax, ax A...
2016-09-18 17:22:29 947
原创 《汇编语言》学习(一)基础知识
最近看了谢恩铭同学的博客“学习汇编对编程有什么帮助”(http://www.jianshu.com/p/ef4b0442b3ce),感觉很有必要系统地学习一下汇编语言,于是把书架上的《汇编语言》(第三版,王爽著)拿了出来,加入了最近的学习计划中。 本系列文章主要分享我在学习过程中的心得和知识点总结,以及课后习题的答案。 除谢恩铭分享的答案外,我还在网上搜到如下答案文档:ht
2016-09-18 15:12:28 1035
原创 借助process explorer调试一个线程意外死亡的bug
本文记录我近期在项目中碰到的一个真实案例——“一个线程意外死亡的bug”的分析定位过程,借此展示我们在软件调试的过程中,除了使用调试器单步跟踪外,还可以借助一些外部观察工具来辅助,比如:process explorer。一、案例描述 近期一同事休假,扔下一堆代码项目给我维护。该项目有一个GUI窗口,窗口上有两个按键——btnA和btnB,分别控制两个工作线程thA和thB。其中,th
2016-09-13 16:25:46 1624
原创 WinDbg学习(一)入门
本文主要介绍WinDbg的入门知识,包括:下载安装、启动、配置和简单的用户模式调试示例。在我学习WinDbg的过程,主要参考了“WinDbg软件自带的用户手册”和http://www.dbgtech.net/blog/。其中,dbgtech网站的作者还制作了“http://www.dbgtech.net/windbghelp/”,在线的中文windbg帮助文档。一、下载安装
2016-09-13 11:01:22 7483 1
原创 C++11创建一个跨平台线程池
看完《Windows核心编程》的“线程池”这一章后,仅仅是学到了几个Windows线程池相关的API的,并没有触及到线程池是如何实现的这个层次,总感觉意犹未尽,特别手痒,想要自己实现一个简单的线程池。偶然的,想起了之前买的祁宇老师的《深入应用C++11》中,有一章介绍“使用C++11实现一个线程池”,于是按照原书敲了一顿代码,在VS下顺利运行起来了,兴奋不已。然后,再深入一想,既然是纯C++实现的
2016-09-07 14:43:47 1666
原创 一招搞定“C语言声明式”类型的面试题
在C语言面试中,经常会考查面试者对“C语言声明式”的理解,这类题型听起来就像绕口令一样,一不小心就容易将人绕到沟里,比如:题1:说明如下四种声明式的区别1)const char * p;2)char const * p;3)char * const p;4)const char * const p;题2:写出如下几种要求的声明式(或定义式)1)一个有10个指针的
2016-09-06 16:54:08 763
原创 《Windows核心编程》之“线程池”
本文主要结合四个应用场景介绍Windows内置的几种线程池机制,并配了一张思维导图。事实上,Jeffrey在该书中,并没有过深的去探讨“线程池”的机制,Windows所提供的这四种线程池机制也并非所有场景都合适,后续我将会单独开一篇博客来自己实现一个线程池。 如上图,本文主要介绍这四个线程池应用场景。一、异步函数调用 它的流程大致分为三步,参考batch.exe示例
2016-09-05 14:15:01 955
原创 《Windows核心编程》之“完成端口”
《Windows核心编程》第10章开头部分一再强调:“IO Completion Port”是“构建高性能、可升缩的应用程序”的最佳设施之一,它不仅适用于处理设备IO,也适用于其它越来越多的应用场景,比如:Job内核对象、Socket编程等。故此,我单独用一篇博客来讲述“IO Completion Port”的应用场景、原理、用法和示例。一、缘起1,线程通信 对于一...
2016-09-02 14:53:42 1457
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人