自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 仿射坐标公式推导

2014-08-14 17:39:52

阅读数 558

评论数 0

原创 C++11 多线程

新特性之描述: 虽然 C++11 会在语言的定义上提供一个内存模型以支持线程,但线程的使用主要将以 C++11 标准库的方式呈现。 C++11 标准库会提供类型 thread (std::thread)。若要运行一个线程,可以创建一个类型 thread 的实体,其初始参数为一个函数对象,以及该...

2013-06-19 14:16:04

阅读数 3945

评论数 0

转载 算术移位与逻辑移位有什么区别?

逻辑移位(不管是左移位还是右移位)   都是空缺处补0           例如:     mov   ax   ,   1100_0111_0110_1000B                      mov   cl   ,   3                      shl ...

2013-03-26 20:28:51

阅读数 865

评论数 0

转载 堆排序

#define HEAP_SWAP(a,b) \ do \ {\ int t = a;\ a = b;\ b = t;\ } while (0); // array是待调整的堆数组,i是待调整的数组元素的位置,nlength是数组的长度 void HeapAdjust(int ...

2012-06-28 15:14:43

阅读数 475

评论数 0

原创 内存泄露打印new和delete重载

#define TRACE_MEM #ifdef TRACE_MEM #define MEM_NEW new(__FILE__, __LINE__) #define MEM_DELETE delete #else #define MEM_NEW new #define MEM_DELETE d...

2012-06-01 18:05:50

阅读数 382

评论数 0

原创 凸包

CPoint basicXY; // 查找基准点 CPoint CH_FindBasicPoint(std::list& ptSet){ float tempX = 0.0f; float tempY = 0.0f; std::list::iterator pt = ptSet...

2011-12-23 21:35:20

阅读数 310

评论数 0

原创 曲面重复纹理填充

#include #include #include GLfloat ctrlpoints[2][3][3] = { {{-1.5,0,0.0},{0,1,0.0},{3,0,0.0}}, {{-1.5,-2,0.0},{0,-3,0.0},{3,-2,0.0}} }; GLfloa...

2011-12-14 15:40:29

阅读数 897

评论数 0

转载 线段树

1、概述线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。2、线段树基本操作线段树的基本操作主要包括构造线段树,区间查询和区间修改。(1)    线段树构造首先介绍构造线段树的方

2011-07-28 15:20:55

阅读数 1165

评论数 0

原创 位操作

<br />#include "stdio.h" #include "stdlib.h" /*-------------------------------------------------------------- 位操作 假设你工作...

2010-12-31 10:42:00

阅读数 593

评论数 0

原创 大整数乘法

#include "stdio.h" #include "stdlib.h" #include "string.h" /*---------------------------------------------- 大整数乘法...

2010-12-30 11:28:00

阅读数 426

评论数 0

原创 蛇行矩阵

<br />#include <iostream> using namespace std; /*--------------------------------------------------------- 蛇行矩阵 Problem 蛇形矩阵是由1开始的自然...

2010-12-29 15:48:00

阅读数 453

评论数 0

原创 母牛生小牛[特殊的斐波那契数列]

<br />#include <iostream> #include "windows.h" using namespace std; /*----------------------------------- 母牛生小牛Problem 设有一...

2010-12-28 14:49:00

阅读数 670

评论数 0

原创 指针与引用的区别

<br /><br />1.引用是对象的一个别名<br />int   a = 1;<br />int& b = a;<br />b引用了a,b是a的一个别名<br /> <br />2.不能有NULL引用...

2010-12-13 16:32:00

阅读数 217

评论数 0

原创 符号位

PF是奇偶标志 AF是辅助进位标志 ZF是零标志 SF是符号标志 CF:(carry Flag)进位标记,指两进制补码算法产生了进位,也就是最高位,无符号  附注:AF是BCD的进位标记OF:(Overflow Flag)溢出标记,指数值过大溢出了,有符号有“数值”含义,有符号“进位与符号无关,溢...

2010-11-22 17:21:00

阅读数 389

评论数 0

原创 ENTER 和 LEAVE

 释放当前子程序在堆栈中的局部变量,使BP和SP恢复成最近一次的ENTER指令被执行前的值。 ENTER指令相当于 PUSH BP MOV BP,SP LEAVE相当于: MOV SP,BP POP BP

2010-10-09 17:10:00

阅读数 289

评论数 0

原创 标志位详解

进位标志CF(Carry Flag)的定义: 当加减运算结果的最高有效位有进位(加法)或借位(减法)时,将设置进位标志为1,即CF=1;如果没有进位或借位,则设置进位标志为0,即CF=0。 这是说,处理器执行一个加法或者减法指令,对两个数据进行了相加或者相减,除了一个和值或者一个差值外;如果出...

2010-09-20 10:58:00

阅读数 701

评论数 0

原创 内存池实现

/* * C内存池实现代码 * 作者:WDL * 出处:http://blog.csdn.net/wuleibilly3 * 转载请注明本博客 */ //内存池 typedef struct _MemTable MemTable; typedef struct...

2010-09-17 16:31:00

阅读数 300

评论数 0

原创 字符串哈希函数

字符串哈希函数  (著名的ELFhash算法)int ELFhash(char *key) { unsigned long h=0;  while(*key)  { h=(h unsigned long g=h&0Xf0000000L;  if(g) h^=g>>24;  h&...

2010-09-13 12:02:00

阅读数 248

评论数 0

原创 CMP详解

cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2它影响flag的CF,ZF,OF,AF,PF我们怎么判断大小呢?若执行指令后ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0当无符号时:若    CF=1 则说明了有进位或借位,cmp是进行的减...

2010-09-02 14:40:00

阅读数 970

评论数 0

转载 指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL

名称   功能  操作数 操作码 模数 寄存器1 寄存器2或内存 位移量 立即数 符号 方向 芯片型号 16位 32位 JO 溢出跳转 短  $70 无 无 无 无 10 无 无 8086 无 无 JNO 不溢出跳转 短  $71 无 无 无 无 10 无 无 8086 无 无 JB 低于跳转 短...

2010-08-27 10:51:00

阅读数 1090

评论数 0

原创 避免内存碎片的小技巧

建立一个结构体里面包含一个指针用来存放数据。最初的定义是这样的typedef struct _NODE{    char *pData;    int nLength;} Node;使用的时候:Node *pNode = (Node*)malloc(sizeof(Node));pNode->...

2010-08-25 19:06:00

阅读数 298

评论数 0

转载 C++函数参数中的省略号

C++允许定义形参个数和类型不确定的函数。例如,C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。例如:void ConnectData(int i,...)在...

2010-08-20 09:54:00

阅读数 216

评论数 0

原创 C++四种类型转换

dynamic_cast:通常在基类和派生类之间转换时使用 const_cast:常量转换成非常量 static_cast:通用转换,转换时 会做必要的分析 reinterpret_cast:不进行分析 直接将二进制数据 拷贝过去

2010-07-24 14:37:00

阅读数 191

评论数 0

原创 比较字符串不区分大小写

int compareAb(const char* dst,const char* src){ unsigned char s_tolowerTable[256]; for(int i = 0; i     s_tolowerTable[i] = (unsigned char)tolowe...

2010-07-19 10:05:00

阅读数 825

评论数 0

原创 样条曲线

typedef struct _Point{ float x; float y; }Point; float Fac(int n) { if(n == 0) { return 1; } return n * Fac(n-1); } float pow(float x,int...

2010-06-22 11:28:00

阅读数 316

评论数 0

原创 使用宏技巧

技巧一:把枚举值转换成字符串#define CaseEnum(a) case(a):LogMsgToFile(#a,id,time)switch(msg_passed_in){    CaseEnum(MSG_YouWereHit);    ReactToHit();    break;} 技巧二...

2010-02-27 21:54:00

阅读数 434

评论数 0

原创 通过进程名获取进程PID

/*用CreateToolhelp32Snapshot进行对系统所有进程进行快照,然后利用Process32First取得第一个进程句柄,然后把得到的PROCESSENTRY32结构体中的szExeFile就是进程名进行比较,利用Process32Next进行循环比较,具体用法看msdn,就可以得...

2009-07-29 06:25:00

阅读数 10284

评论数 6

原创 多线程同步

#include #include #include   //缺少将出现error   C2039:   _beginthreadex   :   is   not   a   member   of   `global   namespace, long int one=0,two=0; C...

2009-07-29 06:21:00

阅读数 711

评论数 0

原创 变速齿轮

/*变速齿轮原理是,游戏在刷新画面时会用到时钟来控制刷新速度,有过游戏开发的人都知道,一般游戏锁定1秒30帧,这样会很流畅,人眼有视觉停顿,当速度达到1秒16帧的时候,就是在跑动画了,游戏用到的计时器有大部分是两个windows提供的api函数,一个是::GetTickCount,一个是::tim...

2009-07-18 16:03:00

阅读数 2123

评论数 1

原创 HOOK全局键盘钩子

/*******KeyHookLib.h文件*********/ // 定义函数修饰宏,方便引用本DLL工程的导出函数 #ifdef KEYHOOKLIB_EXPORTS #define KEYHOOKLIB_API __declspec(dllexport) #else #define KEYH...

2008-09-02 19:13:00

阅读数 1965

评论数 1

原创 远程注入线程

#include #include #include #include using namespace std;class InjectionRemoteThread{public:    InjectionRemoteThread(const char *FileName,const char ...

2008-08-28 02:11:00

阅读数 635

评论数 0

原创 通讯录管理程序

#include #include #include #include using namespace std;  //定义文件名#define FileName "data.txt" //定义循环变量bool mVal=true;     //定义个新的变量typedef s...

2008-08-28 02:03:00

阅读数 622

评论数 0

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