自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(21)
  • 资源 (10)
  • 收藏
  • 关注

原创 picture

2018-07-18 09:36:19 181

转载 字符编码的奥秘

字符编码你是否认为“ASCII码 = 一个字符就是8比特”?你是否认为一个字节就是一个字符,一个字符就是8比特?你是否还认为你是否还认为UTF-8就是用8比特表示一个字符?如果真的是这样认为认真读完这篇文章吧!为什么要有编码?首先大家需要明确的是在计算机里所有的数据都是字节的形式存储,处理的。我们需要这些字节来表示计算机里的信息。但是这些字节本身又是没有任何意义的,所以我们需要对这些字

2014-10-14 14:05:25 180

转载 浅谈neg+sbb指令

neg指令:intel指令手册是这样说明的IF DEST = 0THEN CF ELSE CF 就是说,当操作数为0时,cf标志为0,否则cf被置1.(这让我们联想到c语言中很多函数返回0和非0,然后用if来判断0或者非0走不同的分支)neg指令的作用就是对操作数求反,neg eax :用伪代码表示就是 eax = -eax;那么neg指令的初级作用就是对一个数来求绝对值

2014-09-13 08:19:30 1499

转载 sleep与 wait区别主要是对cpu的占用

sleep是线程被调用时,占着cpu去睡觉,其他线程不能占用cpu,os认为该线程正在工作,不会让出系统资源,wait是进入等待池等待,让出系统资源,其他线程可以占用cpu,一般wait不会加时间限制,因为如果wait的线程运行资源不够,再出来也没用,要等待其他线程调用notifyall方法唤醒等待池中的所有线程,才会在进入就绪序列等待os分配系统资源, sleep是静态方法,是谁掉的谁去睡觉,

2014-07-09 11:20:57 4420 10

转载 VCPROJ文件详解

vcproj是一个标准的xml文件。因此以下就以节点顺序描述。   大概是分为以下几部分:    工程属性                       平台名称                        工具文件,好像经常是没内容,不清楚             编译和链接的配置信息,了解项目的编译链接一般在这                     里      

2014-06-23 14:31:38 257

转载 windows 下使用makefile(二)---- 编译

1.Dos下运行VC++自带的Nmake,设置路径==========================================●C/C++ 编译器需要的环境变数设定古早以来,PC 上的 C 编译器,就需要两个环境变数:LIB:这个环境变数告诉编译器说,必要的 libraries 在哪里(哪个磁碟目录下)INCLUDE:告诉编译器说,必要的 header files 在哪里(哪个磁碟

2014-06-12 12:24:11 226

转载 windows 下使用makefile(一)----部署

makefile在windows之外的系统中广泛使用,大多数程序员依赖于vs的IDE; 掌握使用makefile,对于自动化构建很有用vs使用nmake.exe作为构建的工具,有别于linux的makenmake.exe在vs的安装目录下,vs2005的默认目录是:C:\Program Files\Microsoft Visual Studio 8\VC\bin 或者 C:

2014-06-12 12:23:15 178

转载 E​x​A​l​l​o​c​a​t​e​P​o​o​l​W​i​t​h​T​a​g

ExAllocatePoolWithTag 调用ExAllocatePool是从内核模式堆中分配内存的标准方式。另一个函数ExAllocatePoolWithTag,与ExAllocatePool稍有不同,它提供了一个有用的额外特征。当使用ExAllocatePoolWithTag时,系统在你要求的内存外又额外地多分配了4个字节的标签。这个标签占用了开始的4个字节,位于返回指针所指向地址的前面

2014-06-05 15:23:10 360

转载 函数ZwQuerySystemInformation小结

该函数存在于NTDLL.DLL动态链接库中。NTDLL.DLL负责ring3与ring0之间的通信。当使用子系统方式进行系统调用的时候,ntdll.dll和SSDT会配合使用。关于SSDT技术以后会讲解到。关于ZwQuerySystemInformation这个函数可以用来查询进程信息、内核信息、硬件信息(例如CPU数目)、句柄信息、时间信息等54个系统信息。该函数的原型是NTST

2014-06-05 13:50:09 370

转载 HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同

1. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是 局部。函数原型为:LPVOIDHeapAlloc(

2014-05-14 09:48:18 152

转载 manifest 文件

什么是.manifest 文件[现象]对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提示如下:应用程序配置不正确,请重新安装程序……或者是MSVCR80D.dll没有找到什么的(我记得不是很清楚,不过大致是这样的)[分析]看到这样的提示,当然

2014-04-19 21:56:52 248

转载 致命错误 RC1121: RC : fatal error RC1121 : I/O error reading file

这是关于多国语言转换的问题,原来的程序是英文版,在中文版里面就有这个问题。因为在Microsoft Windows 下,语言用代 码 页来识 别,不同 语言 用不同代码 页来表示, 如" 简体中文" 用代码页936 表示, 而"  美国英 语" 则 用代码页1252 表 示。其他语言不提了。解决方法:把英文版本改为中文版本用文本文档打开项目的资源文件(注意一定是文本文档哦!)找到下

2014-04-14 20:33:44 250

转载 wireshark源代码分析

经过多次尝试,终于在windows上成功编译wireshark源代码,但用的不是下面的这个步骤,不过大同小异,我的是vs2005,所以用的:http://blog.csdn.net/alexander_vc/article/details/6198836 的方法。1.2.7版的wireshark的capture_if_details_dlg_win32.c对vs2005有bug,需要下

2014-03-27 22:20:13 180

转载 关于GUI线程和worker线程

1.   所谓的worker线程,是指完全不牵扯到图形用户界面(GUI),纯粹做运算的线程。2.   微软的多线程模型:Win32说明文件一再强调线程分为GUI线程和worker线程两种。GUI线程负责建造窗口以及处理主消息循环。Worker负责执行纯粹的运算工作,如重新计算或重新编页等,这些运算工作会导致主线程的消息队列失去反应。一般而言,GUI线程绝不会去做那些不能够马上完成的工作。

2014-02-25 10:46:20 281

转载 C++的模板编程

当我们越来越多的使用C++的特性, 将越来越多的问题和事物抽象成对象时, 我们不难发现:很多对象都具有共性。 比如 数值可以增加、减少;字符串也可以增加减少。 它们的动作是相似的, 只是对象的类型不同而已。C++ 提供了“模板”这一特性, 可以将“类型” 参数化, 使得编写的代码更具有通用性。 因此大家都称模板编程为 “通用编程”或 “泛型编程”。一般而言, 模板分为 函数模板 和

2014-01-05 11:36:38 187

转载 CONST

1什么是const?  常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2为什么引入const?  const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3主要作用  (1)可以定义const常量,具有不可变性。   例如:const int Max=100;

2014-01-01 15:50:55 138

转载 static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#include增加这条语句char a = ‘A‘; // global variablevo

2014-01-01 15:03:02 169

转载 静态链接库与动态链接库

一、分别编译与链接(Linking)大多数高级语言都支持分别编译,程序员可以显式地把程序划分为独立的模块或文件,然后每个独立部分分别编译。在编译之后,由链接器把这些独立的片段(称为编译单元)“粘接到一起”。(想想这样做有什么好处?)在C/C++中,这些独立的编译单元包括obj文件(一般的源程序编译而成)、lib文件(静态链接的函数库)、dll文件(动态链接的函数库)等。静态链接方式:在

2013-12-27 00:02:40 173

转载 为什么会出现LNK2005"符号已定义"的链接错误?

许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不知其然,而有的朋友可能知其然却不知其所以然,那么本文就试图为大家彻底解开关于它的种种疑惑。     大家都知道,从C

2013-12-26 11:39:32 166

转载 dll的概念 dll导出变量 函数 类 (转 )

1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别: (1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与

2013-04-29 20:50:59 243

原创 学习心得小结

最近在学习程序时,有一点小觉悟.我感到,程序员的工作方式就是去创造世界.计算机是虚似世界的逻辑载体,我们所做的任何事情,都是和这个世界打交道.画界面,玩算法等都是用一种符号语言来沟通.所以,学程序之前,我们不妨做以下几点思考:1,我要做什么   很多时候,我们得到一份材料,或得知某一个很厉害的技术,就一股脑的冲进去,想象着如何如何.可学起来,就发现问题很多.这是出发点错了.我认为学一门技术之前,先

2008-02-12 19:24:00 335

Exceptional C++ Style中文版

Exceptional C++ Style中文版

2016-03-03

Visual C++ 技术内幕第五版

Visual C++ 技术内幕第五版,英文chm

2016-03-03

C++编程思想 英文高清带书签

C++编程思想 英文高清带书签,学好C++这本就够了

2016-03-03

More Exceptional C++中文版

More Exceptional C++中文版,清晰版带书签

2016-03-03

Effective C++中文第三版

Effective C++中文第三版,高清带书签

2016-03-03

C++内存管理技术内幕r

一本关于C++内存管理的小册子,高清带书签。是对C++内存管理的全面总结

2016-03-03

C++逆向小册子

主要是讲通过RTTI或虚函数表等技术来识别C++中的类以及类与类之间的关系。

2016-03-03

C++逆向小手册

主要是讲通过RTTI或虚函数表等技术来识别C++中的类以及类与类之间的关系。

2016-03-02

spy++(待解决)

我了个去,这是一个待解决的工程,这回够清楚了吧

2014-05-09

空空如也

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

TA关注的人

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