自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

洋葱汪的博客

学习笔记记录

  • 博客(104)
  • 收藏
  • 关注

原创 PE文件结构

参考《加密与解密》《Windows PE权威指南》目录1、PE文件的结构1、什么是可执行文件?2、PE文件的特征3、PE文件的整体结构4、PE文件到内存的映射5、DOS部分6、PE文件头(PE Header)7、块表8、RVA与FOA的转换2、输出表和输入表1、输出表(导出表)2、输入表(导入表)3、重定位表4、资源1、PE文件的结构...

2019-08-09 18:42:48 2869 2

原创 传值与传址,详解this指针

虽然一直知道this指针,但一直没有底层分析过,本节就分析一下C++中的this指针,彻底理解它的本质!!!1、C语言中的结构体传参C语言中结构体传参时建议使用指针,可以少了大量的内存复制分析下面的C代码//test.c#include <stdio.h>struct Student{ int a; int b; int c;};int plus(...

2019-07-05 13:25:47 808

原创 从实模式到保护模式

上节Boot成功加载loader到内存并且将控制权交给他,突破了512字节的限制,loader程序没有体积上的限制这节就实战编写loader实现从实模式到保护模式再返回实模式目录1、从实模式到保护模式1、从计算机的历史谈起2、CPU历史的里程碑 - 80863、80286的登场4、初识保护模式5、80386的登场(计算机新时期的标志)4、编程实验2、深入保护...

2019-04-13 16:25:29 4402 7

原创 突破512字节的限制

上节详细分析了FAT12文件系统。这节具体讲解:主引导程序如何①从存储介质中加载程序到内存②将控制权交由新加载的程序执行目录1、突破512字节限制1、将文件系统的根目录区加载到内存1、字符串打印2、软盘读取2、在根目录区找到目标文件1、内存比较2、根目录的查找3、通过FAT表将文件的数据全部加载到内存1、内存拷贝2、Fat表项的读取4、小结...

2019-03-28 20:27:47 1426

原创 王爽《汇编语言》笔记(详细)

一、基础知识1、指令机器指令:CPU能直接识别并执行的二进制编码(指令)汇编指令:是机器指令便于记忆的书写格式。汇编指令是机器指令的助记符,同机器指令一一对应。指令:指令通常由操作码和地址码(操作数)两部分组成指令集:每种CPU都有自己的汇编指令集。汇编语言发展至今,有以下3类指令组成。汇编指令:机器码的助记符,有对应的机器码。伪指令:没有对应的机器码,由编译器执行,计算机并不执...

2019-03-24 19:53:32 141179 64

原创 详解FAT12文件系统

目录1、详解FAT12文件系统2、实验1、向虚拟软盘写入文件2、读取软盘文件系统信息3、在根目录中查找目标文件4、读取目标文件到内存3、小结1、FAT12文件系统文件系统 -存储介质上组织文件数据的方法(数据组织的方式)文件系统示例 -FAT12是DOS时代的早期文件系统 -FAT12结构非常简单,一直沿用于软盘...

2019-03-16 11:04:23 18108 1

原创 自己动手写操作系统 - Hello DTOS

本系列笔记参考整理于狄泰未来 - 操作系统专题、于渊 《自己动手写操作系统》(《一个操作系统的实现》)基于x86架构从零开始编写操作系统内核,旨在通过实践的方式掌握操作系统原理目录1、BIOS2、主引导程序1、主引导程序2、编写一个主引导程序3、主引导程序的扩展3、调试环境的搭建(Bochs)4、小结1、BIOS什么是操作系统? - Windo...

2019-03-12 17:52:18 3856 3

原创 缔造程序兼容的合约

目录1、理解ABI、EABI、API1、什么是ABI(Application Binary Interface)?2、什么是EABI(Embedded Application Binary Interface)?3、ABI和API有什么不同?4、ABI规范的示例2、函数调用约定分析1、概述2、函数调用约定的细节3、实验分析4、返回值与调用约定分类3、小结...

2019-03-03 13:52:42 410

原创 理解程序的一般结构

1、程序的段程序由不同的段构成(代码段,数据段) - 程序的静态特征就是指令和数据 - 程序的动态特征就是执行指令处理数据程序文件的一般布局 程序文件未运行时代码段(.text) - 源代码中的可执行语句编译后进入...

2019-03-01 19:39:08 534

原创 编译、链接过程简介

目录1、初探GDB2、使用GDB 进行断点调试3、函数调用栈的查看4、调试中的小技巧5、小结1、初探GDB什么是GDB? - GNU项目中的调试器(gnu debuger) - 能够跟踪程序的执行,也能够恢复程序崩溃前的状态为什么需要GDB? - 软件不是一次性开发完成的(是软件就有bug,是程序就有问题) -...

2019-02-28 21:16:42 1214

原创 gcc、 binutils、gdb

目录1、Binutils工具集2、区分VMA与LMA1、Binutils工具集GNU为GCC编译器提供了配套的辅助工具集(Binutils)) http://www.gnu.org/software/binutils/addr2line - 将指定地址转换为对应的文件名和行号 - 常用于分析和定位内存访问错误的问题//f...

2019-02-23 18:13:25 829

原创 多线程与界面组件的通信

1、有趣的问题是否可以在子线程中创建界面组件?void TestThread::run(){ /* It is ERROR to create GUI elements in SUB THREAD */ QWidget w; w.show(); exec();}Widget::Widget(QWidget *parent) : ...

2018-08-24 18:35:58 687

原创 信号与槽的连接方式

1、信号与槽的连接方式深入信号与槽的连接方式 - Qt:: DirectConnection (立即调用) - Qt::QueuedConnection (异步调用) - Qt::BlockingQueuedConnection (同步调用) - Qt: :AutoConnection (默认连接) -...

2018-08-24 18:35:04 10142 2

原创 多线程中的信号与槽

1、值得思考的问题线程对象是否可以发射信号(signal) ?是否可以定义槽函数(slot) ?2、多线程中的信号与槽QThread类拥有发射信号和定义槽函数的能力 -关键信号: ★ void started() 线程开始运行时发射该信号 ...

2018-08-23 18:59:12 1708

原创 QT中的多线程编程

目录1、Qt中的多线程编程2、多线程间的同步3、多线程间的互斥1、线程锁2、信号量4、小结1、Qt中的多线程编程Qt中通过QThread直接支持多线程 - QThread是一个跨平台的多线程解决方案 - QThread以简洁易用的方式实现多线程编程QThread中的关键成员函数 - void run...

2018-08-22 16:57:33 20116 10

原创 程序、进程与线程的概念

1、程序与进程的概念程序是计算机存储系统中的数据文件 - 源代码程序 ★ 文本文件,描述程序行为和功能 -可执行程序 ★ 二进制文件,直接加载并执行进程的概念 -广义概念 ★ 程序关于某个数据集合的一次运行活动 -狭义概念 ...

2018-08-22 16:57:08 466

原创 Qt图像处理与绘制基础

1、图像处理与绘制设备无关图像类 - QImage -独立于具体硬件的图像类 -主要用于读写图像文件,针对IO访问而设计 -能够直接在像素级对图像进行处理设备相关图像类 -QPixmap -依赖于具体硬件的图像类 -主要是用于绘图,针对屏幕显示而设计 -显示效果依赖于所在平台的...

2018-08-21 14:49:16 3762

原创 Qt基础图形与文本绘制

1、基础图形绘制Qt图形系统中的坐标系 -物理坐标系(设备坐标系) ★ 原点(0, 0)在左上角的位置,单位:像素(点) ★ x坐标向右增长,y坐标向下增长 -逻辑坐标系 ★ 数学模型中的抽象坐标系,单位由具体问题决定 ★ 坐标轴...

2018-08-20 19:49:45 2864 3

原创 Qt模型视图中的委托

1、自定义委托委托的本质 -为视图提供数据编辑的上下文环境 -产生界面元素的工厂类 -能够使用和设置模型中的数据如何自定义一个委托类?自定义委托时需要重写的函数 1. createEditor 2. updateEditorGeometry...

2018-08-19 13:23:09 1910 1

原创 Qt中的模型视图设计模式

(上)1、模型视图设计模式模型视图设计模式的核心思想 -模型(数据)与视图(显示)相分离 -模型对外提供标准接口存取数据(不关心数据如何显示) -视图自定义数据的显示方式(不关系数据如何组织存储)模型视图模式的直观理解模型视图模式的工作机制 -当数据发生改变时 ...

2018-08-17 10:22:55 2213 3

原创 空白基类优化 ( Empty base optimization )

1、C语言中的空结构体曾对C语言中的空结构体进行了简单分析(直达) 2、空类对象的大小下面输出什么?#include &lt;iostream&gt;using namespace std;class Base{ };int main(){ cout &lt;&lt; sizeof(Base) &lt;&lt; endl; return 0;}...

2018-08-16 16:16:37 957

原创 QT 中的主窗口

1、Qt中的调色板QPalette类包含了组件状态的颜色组QPalette对象包含3个状态的颜色描述 -激活颜色组(Active) 组件获得焦点使用的颜色搭配方案 -非激活颜色组(Inactive) 组件失去焦点使用的颜色方案 -失效颜色组(Disabled)...

2018-08-14 11:03:49 1312

原创 QT 创建可复用查找、替换对话框

1、查找对话框查找对话框是应用程序中的常用部件目标: 开发一个可以在不同项目间复用的查找对话框查找对话框需求分析 -可复用软件部件 -查找文本框中的指定字符串 -能够指定查找方向 -支持大小写敏感查找 - 点击关闭按钮后隐藏 ...

2018-08-13 16:58:18 1500 1

原创 Qt 中的事件处理

目录1、Qt中的事件处理1、事件(QEvent)和信号(SIGNAL)2、事件处理的顺序3、Qt中的事件过滤器4、Qt中的拖放事件5、小结1、Qt中的事件处理1、事件(QEvent)和信号(SIGNAL)图形界面应用程序的消息处理模型 操作系统发送的消息如何转变成Qt信号?...

2018-08-09 21:58:37 687

原创 Qt 中的文件操作

目录1、Qt中的IO操作2、Qt中的文件操作(QFile、QFileInfo、QTemporaryFile)1、QFile、QFileInfo2、QTemporaryFile3、文本流和数据流(QTextStream和QDataStream)1、文件类型2、文本流和数据流4、缓冲区操作与目录操作(QBuffer、QDir和QFileSystemWatcher)...

2018-08-07 19:38:27 7504

原创 QT中的布局管理器

目录1、布局管理器2、QBoxLayout和QGridLayout1、QBoxLayout2、QGridLayout3、小结3、QFormLayout和QStackedLayout1、QFormLayout2、QStackedLayout3、小结4、布局管理综合实例1、需求分析2、编程实验3、小结1、布局管理器绝对定位...

2018-08-05 13:55:16 2452 1

原创 Qt 中的标准对话框

目录1、标准对话框2、QMessageBox和QFileDialog1、消息对话框2、文件对话框3、编程实验3、QColorDialog和QInputDialog1、颜色对话框2、输入对话框3、编程实验4、QFontDialog、QProgressDialog和QPrintDialog1、字体对话框2、进度对话框3、打印对话框...

2018-08-04 12:34:24 1041

原创 QT对话框及其类型

目录1、对话框及其类型1、对话框的概念2、对话框的类型3、对话框的返回值4、小结2、登录对话框实例分析1、登录对话框2、实例分析3、进一步的开发4、小结1、对话框及其类型1、对话框的概念对话框是与用户进行简短交互的顶层窗口QDialog是Qt中所有对话框窗口的基类QDialog继承于QWidget是一种容器类型的组件...

2018-08-02 13:10:36 853

原创 Qt 对象间的父子关系

1、Qt对象间的关系Qt对象间可以存在父子关系 -每一个对象都保存有它所有子对象的指针 -每一个对象都有一个指向其父对象的指针当指定Qt对象的父对象时 -其父对象会在子对象链表中加入该对象的指针 -该对象会保存指向其父对象的指针2、编程实验对象间的父子关系 void fcTest();#include &lt...

2018-07-31 21:06:42 384

原创 用户界面与业务逻辑的分离

1、界面与逻辑基本程序架构一般包含: -用户界面模块(UI) •接受用户输入及呈现数据 -业务逻辑模块(Business Logic) •根据用户需求处理数据用户界面与业务逻辑如何交互? (架构原则?)2、基本设计原则功能模块之间需要进行解耦...

2018-07-30 21:35:39 5247 2

原创 计算器核心解析算法

1、计算器核心算法1. 将中缀表达式进行数字和运算符的分离2. 将中缀表达式转换为后缀表达式3. 通过后缀表达式计算最终结果2、分离算法思想初始num变量为空,遍历字符串每个字符(用字符串表示数字) 若遇到数字或小数点,累加到num变量,并用p...

2018-07-13 21:57:02 1646

原创 Qt计算器界面的实现

目录1、启航!第一个应用实例1、QLineEdit组件2、设计与实现3、编程实验4、小结2、计算器界面代码重构1、重构的概念2、计算器界面代码重构3、小结3、初探Qt 中的消息处理1、Qt消息模型2、信号与槽3、为计算器实例添加消息处理函数4、小结1、启航!第一个应用实例1、QLineEdit组件QLineEd...

2018-07-12 16:42:19 3313 1

原创 QT中的窗口与坐标系统

目录1、窗口部件及窗口类型1、窗口组件2、QWidget组件3、QLabel组件4、窗口类型5、小结2、QT中的坐标系统1、坐标系统2、坐标系统相关的成员函数3、QPushButton组件4、窗口部件的大小设置5、小结1、窗口部件及窗口类型1、窗口组件图形用户界面由不同的窗口和窗口组件构成&lt;QtGui&gt...

2018-07-12 16:41:15 1761

原创 Qt Creator工程介绍

1、Qt Creator工程管理Qt Creator以工程项目的方式对源码进行管理一个Qt Creator工程包含不同类型的文件- .pro项目描述文件- .pro.user用户配置描述文件- .h头文件- .cpp 源文件...

2018-07-12 16:40:19 364

原创 GUI 程序原理和实例分析

目录1、GUI 程序原理分析1、命令行应用程序2、图形界面应用程序3、图形界面程序 vs 命令行程序2、GUI 程序实例分析1、GUI程序开发原理2、GUI程序开发实例3、小结3、QT的本质1、GUI用户界面元素2、实例分析3、QT的本质4、Hello QT4、小结1、GUI 程序原理分析1、命令行应用程序命令行应用程序...

2018-07-10 11:37:42 2438 1

原创 图的遍历(BFS、DFS)

前文使用邻接矩阵法和邻接链表法实现了图结构(MatrixGraph 、ListGraph),本节使用两种算法进行图的遍历目录1、定义与概括2、广度优先搜索算法3、深度优先搜索算法4、小结1、定义与概括图的遍历:从图中的某一顶点出发,沿着一些边访问图中的其它顶点,使得每个顶点最多被访问一次 注意:从某个顶点出发进行遍历,不一定能够访问到图中的所有顶点...

2018-06-07 17:33:26 811

原创 图的定义与存储结构(邻接矩阵、邻接链表)

目录1、图的定义与操作2、图的存储结构1、图的邻接矩阵结构2、图的邻接链表结构3、时间复杂度的对比分析1、图的定义与操作定义 -图是由顶点集合(Vertex)及顶点间的关系集合(Edge)组成的一种数据结构:Graph= (V, E)V = { x | x ∈ 某个数据对象 } 是顶点的...

2018-06-01 20:45:01 2046

原创 二叉树面试题:单度结点删除 、中序线索化二叉树

目录1、面试题一:单度结点删除2、面试题二:中序线索化二叉树1、面试题一:单度结点删除编写一个函数用于删除二叉树中的所有单度结点要求:结点删除后,其唯一的子结点替代它的位置 递归的思想这里应该考虑结点中是否包含指向父...

2018-06-01 17:41:30 386

原创 二叉树的克隆、比较与相加

目录1、二叉树的克隆操作2、二叉树比较操作的定义3、二叉树的相加操作1、二叉树的克隆操作二叉树的克隆操作 -SharedPointer< BTree<T> > clone() const●克隆当前树的一份拷贝●返回值为堆空间中的一棵新二叉树(与当前树相等...

2018-05-31 15:44:29 817

原创 二叉树的遍历方式与线索化实现

目录1、二叉树结构的层次遍历2、二叉树的典型遍历方式 (先序、中序、后序)3、二叉树的线索化实现1、二叉树结构的层次遍历二叉树的遍历 二叉树的遍历(Traversing Binay Tree)是指从根结点出发,按照某种次序 依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。通用树结...

2018-05-30 17:29:06 530 2

空空如也

空空如也

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

TA关注的人

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