13 FanTasyCC

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

一种多线程安全的单例模式

template class StaticSingletonT {public:static T* SafeInstance() { static T* s_instance_ptr = NULL; if (!s_instance_ptr) { if (atomic_compare_exchange(&s_state, OBJECT_

2015-04-27 14:59:11

boost之lexical_cast使用

安全从数字字符串到整数的转换:#include template bool safe_lexical_cast(const char* str, T& ret_val) { try { ret_val = boost::lexical_cast(str); return true; } catch (boost::bad_lexical_c

2015-04-27 14:55:20

HTTP无状态协议和session原理(access_token原理)

无状态协议是指协议对务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 Http协议不像建立了socket连接的两个终端,双方是可以互相通信的,http的客户端只能通过请求服务器来获取相关内容或文件信息,具体内容可以通过我的另一篇文章了解。http协议这种特性有优点也有缺点,优

2014-08-27 08:52:17

spinlock和mutex对比

spinlock: 自旋锁,

2014-08-26 08:36:17

利用二级指针删除单向链表节点

// testPPointer.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include typedef struct tagNode{ struct tagNode* m_next; int m_nVal;}Node, *PNode;// 通过二级指针方式

2013-10-28 23:17:58

GetTempFileNameW详解

UINTWINAPIGetTempFileNameW(    __in LPCWSTR lpPathName,    __in LPCWSTR lpPrefixString,    __in UINT uUnique,    __out_ecount(MAX_PATH) LPWSTR lpTempFileName    );uUnique 传0,或者非0

2012-12-13 22:40:10

谈一个Kernel32当中的ANSI到Unicode转换的问题

众所周知,Windows的几乎所有带有字符串参数的API都是有W和A两个版本,分别对应于Unicode和ANSI版本。同时,Windows内部是使用Unicode的,因此所有的A版本的API函数都是实际上调用了一次ANSI到Unicode的字符集转换之后,再调用Unicode版本的函数。你真的清楚这中间的这一步转换吗?普通的工程师确实不需要了解太深刻,但是我们是做安全软件的,安全软件的一个

2012-11-16 09:24:27

二进制和文本方式打开文件的区别

二进制文件处理时会碰到的问题我们使用处理二进制文件时,需要用如下方法binfile=open(filepath,'rb')    读二进制文件binfile=open(filepath,'wb')    写二进制文件那么和binfile=open(filepath,'r')的结果到底有何不同呢?不同之处有两个地方:第一,使用'r'的时候如果碰到'0x1A',就会视为文件结束

2012-11-11 16:54:15

验证pe文件数字签名

// exam5.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #include "mscat.h"#pragma comment (lib, "WinTrust.lib")BOOL CheckFileTrust(LPCTSTR lpFileName);BOOL C

2012-11-10 15:00:57

Loki库使用(1)

C++设计模式类库 Loki介绍与用法Loki是由Andrei编写的一个与《Modern C++ Design》(C++设计新思维)一书配套发行的C++代码库。它不仅把C++模板的功能发挥到了极致,而且把类似设计模式这样思想层面的东西通过库来提供。本篇文章介绍如何利用Loki来轻松地实现一些设计模式。由于Loki使用了大量牛X到爆的模板技巧,对编译器的要求是很苛刻的,官

2012-11-07 16:44:44

ollydbg使用初步(1)

1.反汇编面板窗口双击列可以完成相应动作。2.信息面板窗口动态跟踪会提示信息。3.数据面板窗口查看内存数据。4.寄存器面板窗口显示寄存器值。5.堆栈面板窗口显示堆栈数据。

2012-11-06 21:58:06

c++异常精解

目录abort 异常终止程序异常捕获机制(try-catch)  调用 abort 函数终止程序调用 abort() 函数来终止发现异常的程序. abort() 函数将直接终止程序而不是首先返回到主函数(在 VC 下的入口函数 main[控制台] 或 WinMain[窗体程序])中例子:View Code 1 #inclu

2012-11-02 14:47:52

VC中try catch

在编译命令行中加入 /EHa 的参数。这样VC编译器不会把try catch模块给优化掉

2012-11-02 14:34:18

windbg查句柄信息

1.!handle 列出所有句柄2.!handle handleID f检查句柄信息3.!htrace handleID检查操作句柄的历史记录4.!cs csID列出CriticalSection的详细信息5.~~[owner thread id]把owner thread id转换成线程号

2012-10-18 09:48:14

windbg dump分析之分析命令之二

1.lmvm 检查模块加载信息deferred表示目前并没有加载该模块symbol2.!sym noisy 自动寻找symbol的时候给出详细信息3..reload /f msvcrt 让调试器加载制定模块symbolps:默认情况下调试器不会加载所有的symbol4.lmf 列出当前进程加载的所有模块5.r 查看修改寄存器值e 修改地址

2012-10-15 09:39:25

vc关键字

1.凡是VC中带两个下划线的关键字,比方__asm都是VC独有的

2012-09-29 16:41:47

c++内存布局(二)

C++ 对象的内存布局(下) 陈皓http://blog.csdn.net/haoel   重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。  其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),

2012-07-09 18:54:27

c++内存布局(一)

C++ 对象的内存布局(上) 陈皓http://blog.csdn.net/haoel  前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说

2012-07-09 18:52:07

windbg dump分析之分析命令

1. 查看目标系统vertarget 是version命令的一个功能子集vertarget显示调试目标所在的操作系统版本version则会显示调试环境的其它信息eg:0:000> versionWindows XP Version 2600 (Service Pack 3) MP (4 procs) Free x86 compatibleProduct: WinNt

2012-06-30 09:13:54

windbg dump分析入门之符号相关

1.符号路径基本语法:SRV* 【cache】*toppath例如:Microsoft公有符号存储地址:http://msdl.microsoft.com/download/symbols设置符号路径就是:SRV*c:\mysymbols*http://msdl.microsoft.com/download/symbolsc:\mysymbols作为符号缓存以加快符号的访问速度

2012-06-30 08:33:32

查看更多

勋章 我的勋章
    暂无奖章