- 博客(253)
- 资源 (8)
- 收藏
- 关注
原创 在c++中,如何利用try捕获SEH异常
以前在处理SEH异常,一般都是用__try {}__exception(1){}来进行处理的,但是发现这样出来的话,在使用到c++对象的时候,就会提示无法捕获c++异常之类的。 就在想办法利用try{}catch(…){}来进行处理,但是他默认是不处理SEH异常的,就需要在项目属性中进行设置。 项目->属性->所有选项->启用c++异常->是,但有 SEH 异常 (/EHa) 这样
2017-01-23 11:11:40
2905
转载 Detour安装及简单使用实例
Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:一.下载Detours 在http://research.microsoft.com/sn/detours 可免费下载Detours 二.安装Detours 一路NEXT 三.生成Detours库 在安装后的文件夹下找不到直接可以拿来用的LIB文件
2016-12-27 15:43:58
7343
转载 百度云不限速下载方法
第一种:首先打开http://www.loveno.net/baiduyun/login.html点”与你的百度网盘相连” 走完流程之后进入到你自己的百度云,把要下载的文件放到“我的应用数据”里的“zqqian123”里。 如果没有”zqqian123”文件夹,自行创建 然后回到你走完流程的那个界面,就能看到下载地址,可以直接下载,下载软件推荐用idm 第二种: 需要的软件:1、es文件管
2016-10-24 18:01:05
11040
原创 cocos2d 3.10环境搭建
由于近期工作失业了, 同时真的下定决心转入到游戏行业了。所有打算重温下cocos2d-x。然后去投递游戏公司。本次我们学习如何搭建cocos2d-x的环境.首先是从网上下载VS2013,并安装。然后在网上下载python2.7.10版本安装,并在环境变量path中设置path的安装路径。下载cocos2d-x 3.10版本。下载后发现cocos2d-x 3.10版本中改变了很多东西,目录结构
2016-03-29 12:14:41
1848
原创 qt线程,线程池用到的一点问题
总结一下最近使用qt多线程和线程池遇到的一些问题。1.QThreadPool 线程池的作用是什么呢?把多个线程丢个一个线程池中,让他对目前的线程进行管理。比如最大运行的线程数,以及最大线程数外的线程就处于等待状态等。要放到线程池中的线程必须继承自QRunable类,这个类有个缺点,就是无法向外面发送信号。所以这个类不适合用来做界面的交互,而只是适合用来做数据的处理等。2.QThread使用QThr
2016-02-26 15:22:14
6763
原创 貌似是xp sp3解决usb键盘卡顿的问题
注册表编辑器,”HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR”,”Start”键,默认设置为”3”表示手动,将值修改为”2”表示自动.
2016-01-09 23:04:33
564
原创 lua脚本语言的学习-----------------lua栈操作
为了方便Lua与C交互,比如在C代码中调用Lua函数,Lua官方提供了一系列的API和库。利用这些API,C语言就可以方便从Lua中获取相应的值,也可以方便地把值返回给Lua,当然,这些操作都是通过栈作为桥梁来实现的。 lua中的栈跟汇编中的栈类似,都是由栈顶,栈底构成。 在lua_State中 TValue stack[max_stack_len] 就是定义的栈,以及最大的栈
2016-01-02 23:07:12
1304
原创 lua脚本语言的学习-----------------带参数的lua函数的传递
在使用lua的过程中,或许经常需要由lua来传递参数给c++,这时候就需要学习如何去获取到栈中的lua的参数了。在栈中,使用获取参数的函数入下: lua_isnumber(); lua_ronumber(); 这都是double类型相关的函数,判读栈顶是否是数字,并且返回这个数字 下面来看下具体的例子吧。通过lua传参实现一个简单的加法运算// Lua_HelloWorld.cpp : 定义
2016-01-02 15:15:35
10590
原创 lua脚本语言的学习-----------------如何实现c++无参数的函数在lua中调用
在c++和lua的交互过程中,经常会遇到lua中要调用c++里面的函数接口。那么如何去调用c++中的函数呢? 具体步骤如下: 1.定义c++函数接口 2.定义lua函数接口(必须以C风格导出) 3.注册lua函数 4.执行lua函数这样就可以实现在lua中使用c++的函数了 具体使用的源码如下:// Lua_HelloWorld.cpp : 定义控制台应用程序的入口点。//#inclu
2016-01-02 14:56:19
814
原创 lua脚本语言的学习-----------------VS2013如何编译lua脚本的三方库
在VS中,一般情况下,如果要使用lua脚本,最好的情况下就是把lua编译成动态库dll与lib,或者静态库dll。这样就可以在VS环境下,包含相应的库目录,以便于使用lua脚本语言来进行程序和lua的交互了。下面来学习下如何利用VS来编译一个lua的插件吧。1. 打开VS2013,新建一个WIN32控制台应用程序,然后将下载下来的lua版本中的src文件中的 *.h 和*.cpp文件全部包
2016-01-02 14:45:37
2021
转载 MFC注册热键
具体实现步骤如下:1.声明热键消息处理函数原型在XXXDlg.h中消息映射声明处(afx_msg字样之后)加入如下语句: afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);2.消息与相应处理函数相关联在XXXDlg.Cpp中加入消息映射宏,使消息与相应处理函数发生关系, ON_MESSAGE(WM_HOTKEY,OnH
2015-12-15 16:26:00
1517
原创 qt中svg格式图片的旋转
#include "mainwindow.h"#include "ui_mainwindow.h"#include#includeMainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_IconSize(30){ ui->setupUi
2015-12-15 14:37:01
2426
原创 口袋西游背包数组分析
按照思路,肯定还是先用CE来进行搜索, 然后找到访问该地址的代码。然后打开OD分析,确定寄存器的来源 00565334 - 8B 45 14 - mov eax,[ebp+14]首先,我们跳转到这个地址的来源,然后下断点,查看ebp的值,发现他和esp的值相差很大,所以可以确定他不是作为栈底寄存器来保存值得,所以就可以把它当做普通的寄存器来进行分析。然后在逆向的过程中,可以先把mov eax,
2015-12-13 17:18:18
905
原创 汇编基本指令复习,以及逆向中如何跟esp ,ebp参数
mov eax , ebx // eax = ebxlea eax , [ebx + 30] // eax = ebx + 30push pop //入栈,出栈pushax popax //全部入栈,全部出栈add eax,5 // eax += 5sub eax, 5 //eax -= 6inc eax // eax += 1mul //乘法div /
2015-12-13 15:50:17
3886
原创 口袋西游简单的血量,和喊话发包call的分析
008199FA - DB 87 88020000 - fild dword ptr [edi+00000288]0055C062 - 8B 9E 88020000 - mov ebx,[esi+00000288]首先在CE内分析,得到访问到这个数据的地址。然后打开OD分析,ctrl+G跳转到 上面的地址中0055C023 8B8D 14020000 MOV ECX,D
2015-12-12 14:55:27
1529
原创 汇编寄存器的复习
在游戏外挂的制作过程中,我们在逆向的过程中,都好不疑问的会用到寄存器。 那么这些寄存器都包括哪些呢? 通用寄存器: EAX ECX EDX EBX ESI EDI堆栈寄存器 ESP EBPEAX通常用来保存函数的返回值 ECX 帮助堆栈来传递参数 ESP 栈顶寄存器 EBP 栈底寄存器这一般都是在游戏逆向中用到的一些简单的寄存器操作了
2015-12-12 05:47:47
566
原创 qt中如果使用svg格式的图片在QPainter中绘制图形
在昨天,突然想到重构项目中的代码,然后就想用qvg格式的图片代替以前的IMAGE图片,这样就可以解决缩放有锯齿的问题。然后就在网上搜索了很多方法,但是都没有看懂是怎么搞得,然后在公司其他大牛的帮助下,终于解决了这个问题。下面就总结下如何绘制的。要使用的svg图片格式,使用的类是QSvgRender类。具体使用如下: QSvgRenderer m_svgRen
2015-12-11 09:39:42
8451
原创 linux挂在文件到系统文件中
mount -t cifs //192.168.1.218/public/赵鑫 opt/public/ -o username=mapsme,password=admin
2015-12-04 10:25:09
475
原创 linux网络服务器
在本次中,学习了一个简单的基于TCP/IP的服务器/客户端。在例子中,利用的是AF_INET域。在linux下,最常用就是AF_INET,AF_UNIX. AF_UNIX是linux文件系统实现的本地要借字。后面的是可以用于包括英特网在内的TCP/IP网络通信的程序。下面来看一个简单的基于TCP/IP的程序例子:#include <iostream>#include<sys/types.h>#i
2015-11-23 15:41:10
476
原创 linux消息列队
消息列队跟管道差不多,但是和管道不同的是,消息列表不用开关。它能够独立于发送和接收进程而存在,这消除在同步命名管道的打开和关闭可能产生的一些困难。主要用到函数有下面几个:int msgctl(int msgid , ing cmd , struct msgid_ds *buf);int msgget(key_t key , ingt msgflg);int msgrcv(i
2015-11-23 10:04:42
687
原创 linux下使用共享内存实现客户端/服务器
在共享内存的使用中,顾名思义,就是实现多个进程中使用同一个内存区域来实现数据的通信。这样就可以实现一个简单的客户端/服务器程序啦。 共享内存使用的函数有下面几个:incldue#ifndef SHM_COM_H#define SHM_COM_H#define TEXT_SZ 2048 //最大的文本大小struct shared_use_st{ int written_by_you;
2015-11-21 14:10:58
2096
原创 linux下信号量的使用
信号量是为了防止在多个程序同时访问一个共享资源发生问题的情况下引入的。在两个进程中对信号量控制的伪代码都是下面这样的semaphore sv = 1;loop forever{p(sv);critical code section;v(sv);noncritical code section;}下面来学习一个信号量使用的例子,在任
2015-11-21 10:44:43
535
原创 linux下使用管道实现一个简单的服务器/客户端
直接上源码 首先是用到的数据结构和头文件的声明和定义//包含客户端和服务器程序都会用到的数据结构等。为了方便使用,//也包含了必要的系统头文件#include<unistd.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<fcntl.h>#include<limits.h>#include<sys/typ
2015-11-20 16:42:10
1689
原创 Qt中快捷键使用
好久没写自己的笔记啦,今天用到了关于Qt中接收键盘消息具体方法如下: Qt::KeyboardModifiers modifiers = event->modifiers(); if(modifiers == (Qt::AltModifier | Qt::ControlModifier)) { setCursor(Qt::OpenHandCursor);
2015-11-19 18:08:47
534
原创 linux下make命令和makefile文件学习
make命令和makefile文件的就诶和提供了一个在项目管理领域十分强大的工具。它不仅被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录。makefile的语法makefile文件由一组依赖关系和规则组成。每个依赖关系由一个目标(即将要创建的文件)和一组该目标所依赖的源文件组成。而规则描述了如何通过这些依赖文件创建目标。一般来说,目标是一个单独的可执行文件。make命
2015-11-13 09:59:23
994
原创 linux下拷贝文件的时候出现权限不够,如何解决
首先是ctrl+alt+t 打开一个终端。然后运行命令 sudo nautilus 。就可以打开一个具有管理员权限的文件管理器啦。然后就可以在不切换到管理员的条件下拷贝文件啦。
2015-10-28 11:03:56
48736
6
原创 在工作中的一点点体会
不知不觉的也工作了差不多快3个月了啊,现在时间不是很紧张,花点时间想下这两个月都学到了什么?从开始进公司高压力环境下3天学习完qt,以及后面学习qml等东西,说难倒是不难,但同样也不是简单的问题,但是从上个月开始,好像生活节奏突然变慢了,每天没好多的事情,基本都在维护相同的项目,给他们提供接口,改接口等。有点无所事事的感觉,然后在自己的空余时间内开始学习linux,但是发现同样是没有目的性的。学习
2015-10-13 14:24:45
709
原创 SpatialLite使用
说实话,这是第一次使用到空间数据库SpatialLite,在前几天解决了一个困扰了我好久的问题,就是如何在查询空间数据库中和某一经纬度最近的数据库中有的经纬度的水深点,最后通过一个偏移变量来解决了,具体sql去下。 destLon -= 0.001* 2^n <= destLon <= destLon += 0.001* 2^n destLat -= 0.001*
2015-10-12 10:41:57
3808
原创 设计模式-----------------(Interpreter模式)解释器模式
解释器的目的就是使用一个解释器为用户提供一个一门语言的语法表示的解释器,然后通过这个解释器来解释语言中的句子。下面就来写下这个结构图的具体实现。class Context; class AbstractExpression; class TerminalExpression:public AbstractExpression; class NonterminalExpression: publ
2015-09-29 15:44:43
380
原创 Josephus问题求解
今天徒弟问了我这样的一个问题,当时想了很久才把他解决了。其实也不是什么很难得问题,主要是自己的思维被局限了。被局限到那些所谓的库了,比如STL什么的了。所以一时没有想到什么好办法,后来才想到用循环链表去解决它。下面就来学习下这个问题吧。 编号为1 ,2 ,3 …..,n的n个人按顺时针方向围坐成一圈,每个人持有一个密码,现在给定一个随机数m> 0 , 从编号为1的热开始,按照顺时针顺序从1开始报数
2015-09-24 23:38:52
989
原创 qml学习--------------图形的变换
qml也能像qt 中的QPainter一样,支持多种图形变换,比如:tranlsate() , rotate() , scale() , shear()等。 要注意的就是translate使用的原点是当前的原点,所以在使用后最后把它平移到以前的原点去。下面就通过一个具体的例子学习:import QtQuick 2.2Canvas{ width: 480; height: 640;
2015-09-23 13:21:45
1015
原创 qml学习--------------利用Canvas绘制图片
Context2D中有三种不同的方式来绘制图片,其中的image可以是一个image元素,一个图片URL,或者是CanvasImageData。import QtQuick 2.2Rectangle{ width: 480; height: 400; id: root; //绘制一个随机像素的图片 Canvas{ id: randomImageDat
2015-09-23 11:28:11
5520
原创 qml学习---------------利用Canvas绘制文本
在利用Canvas绘制文本的时候,可以指定文本不同的风格。 Context2D中和文本相关的方法有3个: fillText() , strokeText() , text();使用方法就下面两种: ctx.beginPath(); ctx.text(“stroken text” ,100 , 100); ctx.stroke();或者是另外的一种使用方法: ctx.strokeText(“
2015-09-23 11:23:08
3453
原创 qml学习--------------利用Canvas绘制简单图形
在qml中,要实现绘图,就必须要用到下面的东西: Canvas: 画布 context: 画师 Pen: 画笔 Brush: 画刷 坐标系: qml中,画布的原点是在左上角的。在qml中要设置上面的属性需要通过一下的代码来实现:在onPaint信号中 { var ctx = getContext(“2d”); ctx.lineWidth = 2; ctx.strokeStyle
2015-09-23 11:19:24
6726
原创 qml学习-------------Slider(滑块)
Slider跟其他的控件一样,可以通过SliderStyle来设置滑块的风格。import QtQuick 2.2import QtQuick.Controls 1.2import QtQuick.Controls.Styles 1.2Rectangle{ width: 320; height: 240; color: "lightgray"; Row{
2015-09-22 13:36:50
5996
原创 qml学习------------------TabView
本次学习了tabview的使用,tabview的使用非常简单的,但是要做出非常漂亮的TabView就很难了,就需要依靠他的TabViewStyle来自定义属性了。import QtQuick 2.2import QtQuick.Controls 1.2import QtQuick.Controls.Styles 1.2import QtQuick.Layouts 1.1Rectangle{
2015-09-22 13:07:11
3657
1
原创 qml学习----------------(progressBar)进度条的学习
今天学习了进度条的使用。查了下qt的官方文档,进度条主要有以下的属性 hovered : bool indeterminate : bool maximumValue : real minimumValue : real orientation : int //决定是水平的还是竖直的 style : Component value : real可以通过style来加载一个progre
2015-09-22 10:31:32
9240
3
原创 qml学习-----------GroupBox(分组框)和ComboBox(组合框)
在日常软件中,分组框和组合框也是经常用到的,其中组合框是有一个单行编辑框和一个下拉菜单组成的。 它的值可以通过model , 或者ListModel来进行操作。 然后也可以像单选框复选框一样的来自定义风格。下面就来一起学下把:import QtQuick 2.2import QtQuick.Controls 1.2import QtQuick.Controls.Styles 1.2Recta
2015-09-21 16:17:29
5189
原创 qml学习----------(CheckBox)复选框的使用
在qml中,复选框跟单选框的用法差不多,只是多了几个属性。CheckBoxStyle用法也跟RadioBoxStyle一样,下面还是来看看学习的代码把:import QtQuick 2.2import QtQuick.Controls 1.2import QtQuick.Controls.Styles 1.3Rectangle{ width: 320; height: 300;
2015-09-21 16:13:02
7077
原创 qml学习------------(RadioButton)单选框
本次学习了qml中的单选框的使用,在单选框的使用过程中,用到了一些的关联的东西,这里都来总结下,当做学习。 1。ExclusiveGroup (互斥分组),用来将若干个元素组合在一起,只需要设置一个id就是了 2. 定了单选框的风格组件(Component),在其中通过RadioButtonStyle来设置 单选框的风格,同时设置选中状态下的文本颜色其他的东西都在以前都学过了,都是一些常用的组
2015-09-18 15:24:48
5783
windows网络编程
2013-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人