- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 Shift-JIS JISの相互変換
隐藏行号 复制代码 ? 这是一段程序代码。 /* * Japanese Detection and Converstion Functions */#define HANKATA(A) ( (A >= 0xA1) && (A = 0xA1) && (A = 0x81) && (A = 0x40) && (B = 0x81) && (A = 0xE0) && (A = 0x40) && (A = 0xCA) && (A = 0xB6) && (A = 0xCA) &&
2010-06-03 12:52:00 1946
原创 Interlocked 系列函数的实现
<br />#include <intrin.h>#pragma intrinsic(_ReadWriteBarrier)inline void HcPause(int32_t delay) {#if _M_IX86 _asm { mov eax, delay L1: pause add eax, -1 jne L1 }#elif ((__linux__ || __FreeBSD_
2010-06-02 14:21:00 1100
原创 Windows 和 Linux 的IPC API对应表
Windows 和 Linux 的IPC API对应表 Table 1. Process mapping Windows Linux Classification CreateProcess() CreateProcessAsUser() fork() se
2010-04-14 15:51:00 4356 1
原创 一个实用的MemroyDump函数
自己编写的一个实用方便的查看内存状态的Debug函数。可查看程序内的任意地址的内存状态。 void MemDmp(const void *adr, int len) { const char *hex_ch = "0123456789ABCDEF"; const char *fmt = "[%08X] %.8s %.8s %.8s %.8s * %.16s
2010-04-05 10:32:00 1266
翻译 什么是Mersenne Twister(翻译中...)
翻译:zhengdy | 2010-04-02 | 原文 什么是Mersenne Twister Mersenne Twister (以下简称为MT)是由Makoto Matsumoto(松本真) 和Takuji Nishimura(西村拓士) 在1996年至1997年之间开发的伪随机数生成算法。(在2002年1月改进了初始化例程。)MT具有以下的优点: 是在考虑了现存的各种
2010-04-02 12:45:00 2813
原创 关于 LoadLibrary
我们平常使用要Dll的导出函数是用的是LoadLibrary。然后再GetProcAddress取得函数的入口地址。LoadLibrary是在kernel32.dll中定义的。那么kernel32.dll是由谁来导入的呢? 显然不能用LoadLibrary,这是一个先有鸡还是先有蛋的问题。答案是使用Ntdll的导出函数 LdrLoadDll,然后再LdrGetProcedureAddres
2010-04-01 11:53:00 759
原创 C Programming FAQs: Frequently Asked Questions 笔记
// 使用qsort 和 strcmpint pstrcmp(const void *p1, const void *p2) { return strcmp(*(char * const *)p1, *(char * const *)p2);}int main(int argc, char **argv) { char *strings[NSTRING];
2010-03-29 12:29:00 717
转载 可变参数函数的陷阱 记下
下面列出va_arg(argp, type)宏中不支持的type:—— char、signed char、unsigned char—— short、unsigned short—— signed short、short int、signed short int、unsigned short int—— float在C语言中,调用一个不带原型声明的函数时,调用者会对每个参数执行“默认实际参
2010-03-26 17:08:00 623
原创 通过文件句柄取得到文件名(三)
从文件句柄获得文件名方法(三), 这次是用wdk函数ZwQueryInformationFile(),和GetVolumeInformation()。通过判断取得的dwVolumeSerialNumber来确定盘符。其他的内核函数比如说ObDereferenceObject()也可以。参考了Adlys blog 的 通过文件句柄得到文件所在路径的一种新方法 —— 得到完整路径名
2010-03-25 12:44:00 5298 3
原创 通过文件句柄取得到文件名(二)
从文件句柄获得文件名方法二, 这个是用GetMappedFileName()函数,局限是只能取得可以文件映射(File Mapping)的文件句柄。参考 MSDN Obtaining a File Name From a File Handle.前一篇通过文件句柄取得到文件名 // reference to "Obtaining a File Name From a File Ha
2010-03-25 10:17:00 3031 1
原创 使用CLI连接到DB2数据库
这里所说的CLI不是Command Line Interface 也不是 Common Language Infrastructure, 而是<a class="l" onmousedown="function onmousedown(){function onmousedown(){function onmousedown(){return clk(this.href,
2010-03-24 12:10:00 3642 1
原创 关于用System权限创建计划任务的问题
前段时间,制作一个创建建计划任务的WinAPIHelper。发现IScheduledWorkItem::SetAccountInformation()老是调用出错。终于发现了问题,我把 pITask->SetAccountInformation(T2COLE(L""), NULL);写成了 pITask->SetAccountInformation(NULL, NULL);操,M
2010-03-24 12:00:00 2556
原创 取得文件所在磁盘的扇区大小
int GetSectorSize(LPCWSTR Path) { wchar_t buf[MAX_PATH + 1] = { L"" }; DWORD SecPerClu, BytePerSec, NumFreeClu, TotalClu; UINT DriveType; if (GetFullPathName(Path, MAX_PATH, buf
2010-03-24 11:51:00 2261
原创 通过文件句柄取得到文件名
用的是wdk函数ZwQueryObject()。LPWSTR GetFileNameFromHandleW(HANDLE hFile, LPWSTR lpFilePath) { const int ObjectNameInformation = 1; // enum OBJECT_INFORMATION_CLASS; typedef LONG (CALLBACK* ZWQ
2010-03-24 11:43:00 6836 1
原创 KMP算法
int kmpstrstr(const char *text, const char *pattern) { const int Pattern_Max = 256; static unsigned char next[Pattern_Max]; int i, j; int len = strlen(pattern); if (len Patter
2010-03-23 10:19:00 606
AIX 5L v5.3 命令参考大全(中文版)PDF
2009-09-14
Inside Java Virtual Machine 2nd
2008-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人