- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 函数回调没有找到重载的成员函数
0x01 现象今天进行qt视频播放器的时候,定义了一个mediaplayer,但是要实现倍速播放,和全屏播放,没得办法只能使用函数回调,以下是错误信息以下是头文件#pragma once#include "abstructMedia.h"#include "pch.h"class media :public abstructMedia{public: int mediapla...
2020-03-21 22:19:27
1596
原创 语法错误:缺少;在的前面
第一种情况第二种这两种情况都属于类的超前引用,虽然写了宏定义#pragma once,该处理方式与编译器的预处理相关,建议编写时将公共库放入pch.h中,其他自己写的头文件就不要包含了,以免进行二次包含!解决方案1. 将你写的头文件从pch.h中删除。2. 各个头文件都写上#pragma once3. 各个cpp文件分别包含其.h文件,4. 子类包含其父类的头文件...
2020-03-21 20:59:54
3508
原创 多态vptr指针思考一
0x01多态是c++的灵魂之处,c++实现多态就是使用vptr指针,实现多态的三个条件, 1. virtual 关键字 2. 子类重写父类的虚函数 3. 父类指针调用子类对象虚函数0x02 vptr的存储问题 —vptr是属于类的,而不是属于对象的直接附上代码 —>发现vptr是存储在父类中class A { virtual void func() { co...
2020-03-20 01:36:29
284
原创 毕业设计qt视频播放器遇见的问题
int MainWindow::addPlayFile(QStringList **list){ QStringList *fileName = new QStringList; *fileName = QFileDialog::getOpenFileNames(this,"猪猪电影","G:/","*.mp4 *avi");// if(fileName.at(0) =...
2020-03-16 18:34:00
389
原创 intel专用寄存器EFLAGS标志寄存器
0x01之前在上一篇文章说到ZF,CF,SF,OF,这几个位,这几个控制位是上一条语句的执行结果的状态,这些状态对于执行是非常重要的,那么是什么来保存和控制着这些值呢? 答案就是EFLAGS寄存器,两个专用寄存器之一,一个是eip,一个就是eflags了eflags组成6个状态寄存器OFZFSFCFAF :辅助进位标志 ;若加法时,低四位向前进位,或者减法时错位,AF = 1...
2020-03-09 22:19:06
645
原创 06 08x86汇编编程
汇编纲领:与硬件进行交互,将其他语言转换成汇编Hello World以. 开头的都是汇编指示,指导汇编器如何进行汇编 其中.file 和 .def用于调试(通常可以忽略) .text 代码段 .p2align a,b,c 指定下一行代码的对齐方式 a: 2^a次幂对齐 b: 使用b来填充 c: 最多填充多少字节 ...
2020-03-09 22:00:15
295
原创 使用函数指针实现类函数重载
函数指针注:该汇编使用intel格式,及与AT&T相反的操作方式0x01 指针无法区分数据还是代码1. 我们知道c/c++之所以伟大是因为很多方面,其中就是因为指针可以操作内存中的任意数据,理论上只要是在内存中,都可以操控。2. 那么指针可以指向操作码吗???这个就可以打开潘多拉的魔盒了。其实是可以的,而且还可以打印机器码,因为操作指令是存在内存中的,然而寄存器算是和cpu最紧密...
2020-03-08 23:54:33
653
原创 05 汇编中while
汇编需要考虑的四个要素- 寄存器与寄存器堆 - 条件码- 存储器- 指令寄存器条件码 :上一条指令运行结果反应在条件码中- CF carry clag 进位 - 用于检测无符号整数运算溢出- ZF zero flag 等于零- SF sign flag 符号位- OF overflow flag 溢出位 - 补码运算的溢出(带符号整数运算)算术和...
2020-03-06 10:48:22
479
原创 04 指令及其表示
大纲汇编与c之间的数据类型常见的汇编语法(AT&T)汇编语言的数据格式 字 2bytsc声明Intel数据类型汇编代码后缀大小(字节x86-32)char字节b1short节w2int双字l4unsigned双字l4char *双子l4long int双字l4double双精度...
2020-02-27 11:00:34
1702
原创 03c语言中数组和结构体
汇编中的数据类型ascii 文本字符串asciz 以空字符结尾的字符串byte 字节值double 双精度浮点值float 单精度浮点值int 32 32位整数long 32 32位整数,和int相同octa 16字节整数quad 8字节整数short 16位整数single 单精度浮点数(与float相同...
2020-02-27 10:56:13
202
原创 02 寄存器和描述符
描述符GDT;全局描述符表:主要存放操作系统和个任务公用的描述符非常重要:在计算机转换成保护模式之后,gdt就用来表示内存中的位置 公用的数据和代码段描述符,各任务的TSS描述符和LDT描述符 tss是任务状态段,存放各个任务私有运行状态信息描述符GDTR : ,48位LDT;局部描述符表,主要存放各个任务的私有描述符段寄存器:高13位表示索引号,低2位表示特权级别寄存...
2020-02-25 22:46:00
532
原创 一.汇编基础知识
ISA:指令系统—>是程序员看到的计算机属性CISC:x86 80X86处理器 16位 80386 1985年第一个32位的处理器80386有三种工作模式 实模式:相当于一个可以进行32为快速运算的8086 保护模式:主模式,通过对程序使用的存储区采用分段,分页的存储管理机制,达到分级使用,互不干扰的保护目的,能为每个认为提供一台虚拟处理器,使每个任务单独执行...
2020-02-24 09:39:22
313
原创 数组里存的是什么,还有指针指向字符串问题
0x1 原由 一直被字符串数组以及指向字符串指针所初的地址所困扰,然而今天第三次看c/c++安全编码的 时候又遇见了这个问题,strlen(const char)所以我们要来思考以下这些周边的问0x2问题数组a[]中的a到底是什么数组a创建空间的存储位置在main创建的数组里面存的是什么 如a[2]数组a[]=“abc” 与 p="abc"是否指向同一个地址"...
2019-12-02 12:39:39
501
原创 c语言内存申请函数
几个常用的内存分配函数void* malloc(size_t size)void* calloc(size_t memb,size_t size)void* realloc(void *p,size_t size)void* aligned_alloc(siee_t alignment, size_t size)所引发的错误1.初始化错误2.未检查返回值3.对空指针或无效...
2019-11-27 13:17:09
296
原创 sizeof(),wcslen,strlen对于字符数组的使用
1.sizeof函数的用法!``在这里插入图片描述新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编...
2019-11-06 23:24:36
828
原创 linux磁盘管理
1.前提摘要磁盘是linux的命脉,是掌管粮草的地方。数据存储的地方。很简单说一下就是,很多问题都是由于磁盘引起的,如linux无法正常启动失去mbr分区表,找不到grub文件从而导致系统无法自举。位置是在/dev上,常见的有/dev/sd{a,b,c,d} /dev/hd{a,b,c,d] /dev/cdrom。2.磁盘常用命令首先创建和修改磁盘大小的命令fdisk -l 查看磁...
2019-11-06 21:44:20
165
原创 C++的Memcpy与Memcpy_s函数解析
Memcpy函数一. 函数内容** 1.1函数原型 **void * Memcpy(void * dest,const void * src,size_t count)这是一个函数指针 接收的是一个地址 dest是接收地址的首地址,src是源首地址,count是接收目标的大小单位为字节 位于cstring或memcpy.h头文件中。windows中Memcpy的函数原型 ...
2019-10-10 22:03:11
14495
原创 内存与指针day1
##6.191.内存地址: num变量 = *(&num)游戏外挂将程序设置为dll动态链接库文件写入_declspec(dllexport) void go(){ /*声明为导出函数int *p = (int *)0x1efa12;*p = 999;}然后使用dll注入工具 注意:p指向的是需要修改的动态内存地址…直接访问与间接访问,直接访问:根据变量的地址访...
2019-07-13 22:01:21
105
原创 c++11特性原始字符串字面量
前景带入大三第一个学期学过半吊子的python了解到,python中为了避免程序员过多的使用转义字符‘\’ 例如“C:\\inetpub\\wwwroot”,如果使用python的原始字符串就是 r"C:\inetpub\wwwroot" 这个样子的身为c++11这个绝对不会缺席,作为modern c++然后他也有这个鬼,不过用的式R而且要用()起来如#include #inclu...
2019-06-09 11:27:05
338
原创 Singleton&&Doucle-CheckedLocking(单例模式和双重检查锁)
##关于书本的选择 在此之前发布的一篇博客是Facade,来自于设计模式解析(美)第二版 12月7号的时候我们的c#老师推荐了我两本书 《大话设计模式》&& 《深入浅出设计模式》这两本的的都是中国人写的,易于理解,而且有很多实例。 现在我两本书都在读《深入浅出设计模式》这本书都是java代码。0.前奏Singleton和Doucle-Ch...
2018-12-10 22:47:25
208
原创 Facade(外观模式)
一>绪论关于软件开发一些事软件在开发过程中要从三个不同的视角来考虑。 1.概念:软件要负责什么? 2.约束:怎么使用软件? 3. 实现:软件怎么使用自己的责任?二>什么是设计模式简单来说,设计模式就是,在某种特定的情况下,某个问题的一种解决方案 注意:设计模式只是一种解决方案,而不一定是最好的三>Facade模式 定义:为子系统中的一组接口提供一个...
2018-12-07 22:23:43
187
原创 lxml使用xpath未知错误
from lxml import etree import requests import osimport ioheaders = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0"}sys.stdout = io.TextIOWra...
2018-09-12 10:26:38
863
原创 web安全:文件上传之文件包含漏洞(php)
执行方式 通过上传文件等方式,上传恶意代码文件,之后通过php文件包含函数执行; php文件包含函数 require():如果出现错误,会抛出一个警告 require()_once():一次性的require()函数 include():如果出现错误,会直接报错,并推出程序 include_once():一次性的include()函数...
2018-09-06 22:08:14
849
原创 win下文件无法打开
背景两天前,由于实习要复制一部分资料到U盘中,于是我先用ubuntu# sudo mount /dev/sdb1之后用mv命令复制到我的U盘中 最后发现文件名出现乱码,但是在ubuntu下还是打得开的之后当我使用U盘的时候发现根本无法发现有乱码的文件根本无法打开,然后我使用ubuntu更改完文件名之后就可以使用了(随便该一个都可以)增长见实为** 1.win在无...
2018-08-21 21:10:17
272
原创 mysql之初识SQL语言
SQL语言分为四类DDL:数据库定义语言DML: 数据库操作语言DCL:数据库控制语言DQL:数据库查询语言详解 DDL:数据库定义语言 数据库的增删该查操作,如 show databases; use mysql; ...
2018-08-17 21:40:29
191
原创 linux操作系统推荐
背景本人用过debian系列的ubuntu,deepin,parrot,kali,linuxMit,rpm系列的RadHat,centos,Suse。 **用途推荐** 桌面版 deepin的UI,而且里面有内置的wps,网易云,qq,微信等避免了许多麻烦。桌面风格比较像 MacOS。缺点就是它的终端命令行有点垃圾啊。 parrot...
2018-08-17 12:29:36
2493
原创 记录一次ubuntu启动失败/dev/sda1 ** :clean, **/*** files,***/*** blocks
ubuntu用起来还是挺舒服的,但是它的gui界面总是问题不断推断原因 首先我百度了这个问题,发现有很多例子,但是大多数的帖子都是英文,我凭着半吊子的英文大概勉强看懂了,这个问题多半是硬件原因。 第一解决方案可能是显卡引起的,尝试进入gui界面Ctrl+Alt+F1,或者F2,F3,F4,F5,F5,就是切换终端但是并没有成功。 第二种就是磁...
2018-08-17 12:06:18
28222
7
原创 诸神之眼:nmap
web安全之信息收集Nmapnmap的常规使用,使用参数进行扫描 1. nmap的语法 如 nmap -pn -Ss 192.168.0.1/24 半开式扫描192.168.0.1整个网段,且绕过防火墙的防ping规则2.nmap的参数说明 Nmap高级,使用脚本 1.介绍: nmap的脚本是nmap最具特色的一环,脚本存储在nma...
2018-08-11 22:57:27
1732
原创 电脑系统更新
由于最近自己不想玩游戏,而windows的系统用着有点浪费,又考虑到学习liunx,于是准备换成linux系统,之后就开始作死的在网上搜索关于友好的linux 结果给我补了一课,原来linux系统的分类主要是根据包管理器来区分linux的,又rpm和yum系代表是依附于rad hat的,centos,之类,还有德国的suselinux。 以及deb包管理系列,像ubuntu...
2018-08-08 22:19:30
298
原创 kali linux的apt命令
apt-get命令适用于ubuntu,debian等系统1.安装软件 apt-get install {包名}2.更新软件 apt-get install update3.软件包升级 apt-get upgrade4.系统版本升级 apt-get dist -upgrade 注意:要先进行软件包升级才可以进行系统版本升级5.移除软件...
2018-06-11 11:32:23
4391
转载 linux内部命令与外部命令
内部命令与外部命令Linux命令有内部命令(内建命令)和外部命令之分。内部命令和外部命令的功能基本相同,但存在的位置有差异。内部命令:shell程序的一部分,其包含的往往是一些简单的linux系统命令。它们被shell程序识别并通过shell内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。内部命令是写在bashy源码里面的,其执行速度通常比外部命令快。...
2017-11-28 10:26:37
892
腾讯Cplusplus编码规范.pdf
2019-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人