- 博客(12)
- 收藏
- 关注
原创 Ring3调试流程
调试器调试指定进程的流程:打开调试被调试进程;while(true){等待调试事件;处理调试事件;恢复调试事件;}///////////////////////////////////////////////////////////////////////打开被调试进程:DebugActiveProcessThis function allows a
2014-12-28 12:10:02
552
原创 控制Wow64重定向
在默认情况下,64位环境运行32位程序,会启用重定向,比如 调用CreateFile时,系统会把system32文件夹重定向到Syswow64等等。但是有些时候需要访问system32文件夹的时候就需要关闭重定向。MS已经提供了一组函数用来控制重定向:Wow64EnableWow64FsRedirectionWow64DisableWow64FsRedirection
2014-12-26 13:16:57
5650
原创 指针相减的运算
Example:INT* p;INT* q;那么p-q的实际运算不是p的地址减q的地址而是(p地址-q地址)/sizeof(INT)
2014-12-11 22:15:05
508
转载 C++运算符优先级
看到一个不错的表格,MARK一下.PS:某些恶心的面试题最喜欢搞这些了。优先级操作符描述例子结合性1()调节优先级的括号操作符(a + b) / 4;从左到右[]数组下标访问操作符array[4] = 2;->通过指向对象的指针访问成员的操作符ptr->age = 34;.
2014-12-11 21:26:31
282
原创 字节对齐/内存对齐/对齐粒度
其实标题里面的三个关键字说的都是同一个东西。也就是C++中类和结构体在内存中的分配策略,专业术语可以称之为“对齐模数(Alignment Modules)”。对齐模数分为三类:1.自身对齐模数,也就是类或结构体中成员的大小,1,2,4,8之中的一个,对应BYTE WORD DWORD QWORD。2.指定对齐模数,也就是IDE指定的默认对齐模,在MS系列IDE中,默认为8。不过
2014-12-11 20:56:31
2743
原创 sizeof整理
CHAR testA1[] = "test"; CHAR testA2[] = "test\0"; WCHAR testW[] = L"test"; printf("%d %d %d\r\n", sizeof(testA1), sizeof(testA2), sizeof(testW));输出结果 5 6 10
2014-12-11 20:38:03
365
原创 Mark一下进制转换的问题
关于手工进行进制转换,一般都是用二进制做跳板。常规进制:二进制、八进制、十进制、十六进制。1.十进制-->二进制十进制数除2,余数作为结果,商继续除,直到除完为止。所有余数从低位到高位,排列产生二进制数。最后有商为1,放到最高位。十进制5: 5%2=2...1 2%2=1...0 ==>二进制5:101十进制8:8%2=4...0 4%
2014-12-11 13:37:53
371
原创 排序--快速排序
PS:自己MARK一下~@思路挖坑-填坑-换位@原理1.以数组中第一个为标志位,将大于他的都放在他后面,小于他的都放在他前面。2.将小于他和大于他的部分分别作为子数组,再次重复1的步骤,直到排列有序@代码VOID QuickSort(INT* Sort, INT Begin, INT End){ INT i, j, nTmp; i
2014-12-11 00:31:35
264
转载 未能推导模板参数(errorC2783)
使用模板函数时有一个原则:模板参数推导机制无法推导函数返回值。templateT* GetInputData();templateVOID SetInputData(T t);INT* xx;SetInputData(123);xx = GetInputData();
2014-12-05 14:05:20
3910
原创 字符串的数组和指针
写在前面,话说我感觉这玩意儿除了面试,基本都是不会遇到的奇葩问题。。。int _tmain(int argc, _TCHAR* argv[]){ CHAR str1[] = "Good Job."; CHAR str2[] = "Good Job."; CHAR* str3 = "Good Job."; CHAR* str4 = "Good Job."; if (st
2014-11-27 16:37:29
283
原创 STL的vector
Part 1 向vector中添加元素vector会首先把数组扩展成两倍的大小,添加结束后,删除原来的。中间过程,导致空间的极大浪费。
2014-11-26 15:06:58
247
原创 关于算法时间复杂度的整理
Part 1 计算原理 根据代码内某条基本语句(调用次数最多的)语句来计算算法的时间复杂度。Part 2 不同时间复杂度的性能比较性能由高到低依次为:c < log2N < n < n * Log2N < n^2 < n^3 < 2^n < 3^n < n!当N足够大时,基本上N方及更高复杂度的算法基本瘫痪。Part 3 时间复杂度计算实例A. for(int
2014-11-26 14:48:33
490
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人