PKU1061引出的代码执行时间的测试
摘要:在Pentium的指令系统中有一条指令可以获得CPU内部64位计数器的值,我们可以通过代码两次获取该计数器的值而获得程序或代码运行的时钟周期数,进而通过你的cpu的频率算出一个时钟周期的时间,从而算出程序运行的确切时间。我们通过指令TDSIC来获得cpu内部计数器的值,指令TDSIC返回值放在EDX:EAX中,其中EDX中存放64位寄存器中高32位的值,EAX存放第32位的值.#include &...
阅读全文
posted @
2010-08-14 13:42
蓝牙
阅读(253)
推荐(0)
制作键盘钩子程序
摘要:制作键盘钩子程序建DLL工程,第一步选第三项(静态DLL)需要导出两个函数:文章中的KeyboardProc,installhook前者用来处理键盘收到的消息,后者用来安装钩子然后在.def文件中添加导出函数再在.cpp文件中添加全局共享数据变量#pragma data_seg(".SHARDAT")static HHOOK hkb=NULL;FILE *f1;#pragma data_seg()...
阅读全文
posted @
2010-08-10 23:23
蓝牙
阅读(446)
推荐(0)
Windows Automation API 库
摘要:Windows Automation API 库包含最新版本的 Microsoft User Interface Automation (UI Automation) 和 Windows 7 中提供的 Microsoft Active Accessibility 库。安装本更新程序之后,可能必须重新启动计算机。下载些补丁更新系统即可http://u.115.com/file/f5828c03a1W...
阅读全文
posted @
2010-08-08 21:32
蓝牙
阅读(1023)
推荐(0)
自学MFC笔记
摘要:当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。UpdateData(true);//将控件的值读到变量。 UpdateData(false);//将变量的值显示出来到控件修改应用程...
阅读全文
posted @
2010-08-07 23:26
蓝牙
阅读(1600)
推荐(1)
cl.exe链接器用法
摘要:CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。注意,所有编译器选项都区分大小写。-----------------------------------------------------------------------...
阅读全文
posted @
2010-07-26 16:44
蓝牙
阅读(1839)
推荐(1)
sizeof 与strlen
摘要:#include <iostream>using namespace std;class X{int i;int j;char k;};int main(){char a[] = "abcdef";int b[20] = {3, 4};char c[2][3] = {"aa", "bb"};char q[]="abc";cout<<sizeof(a)<<endl...
阅读全文
posted @
2010-06-02 18:49
蓝牙
阅读(168)
推荐(0)
C++指针类型介绍
摘要:1 int i; //定义一个int型的变量 2 int *p; //定义一个指向int的指针 3 int a[n]; //定义一个数组 4 int *p[n]; //定义一个指针数组 5 int (*p)[n]; //定义一个数组指针 6 int f(); //声明一个返回值为int的函数 7 int *p(); //声明一个返回值为int*的函数 8 int (*p)(); //...
阅读全文
posted @
2010-05-29 11:52
蓝牙
阅读(993)
推荐(0)
如何使用VC6.0创建DLL
摘要:如何使用VC6.0创建DLL新建项目 “Win32 Dynamic-Link Library” 项目名称“dll”,确定后选择“一个简单的DLL工程”点击“完成”。其中下面是生成的dll.cpp的代码:#include "stdafx.h"BOOL APIENTRY DllMain( HANDLE hM...
阅读全文
posted @
2010-05-25 09:48
蓝牙
阅读(4113)
推荐(0)
C++函数调用方式(_stdcall, _pascal, _cdecl...)
摘要:C++函数调用方式(_stdcall, _pascal, _cdecl...) __stdcall: _stdcall 调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持(实际上它已被定义为__stdcall。除了__pascal外,__fortran和__syscall也不被支持),取而代之的是__stdcall调用约定。两者实质...
阅读全文
posted @
2010-05-03 20:20
蓝牙
阅读(914)
推荐(0)
dynamic_cast const_cast static_cast和reinterpret_cast的解释
摘要:dynamic_cast: 通常在基类和派生类之间转换时使用,把一个派生类转换为基类使用这个转换 const_cast: 主要针对const和volatile的转换.相当于去掉const变量前的conststatic_cast转换类似于C/C++里面的强制类型转换。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。示例程序:#includ...
阅读全文
posted @
2010-04-10 20:36
蓝牙
阅读(148)
推荐(0)
VC编程实现加载各种格式图片
摘要:本文将介绍两个 C++ 类—— CPictureEx 和 CPictureExWnd,使用它们可以在 MFC 和 ATL 工程中使用动画GIF效果。CPictureEx 是一个为 MFC 程序使用的 C++ 类,对于一些需要使用JPEG 和 GIF 图像格式作为 banner 的应用程序可以借助这个类来实现。对于静态 banner 的显示使用 OleLoadPicture ...
阅读全文
posted @
2010-04-10 13:17
蓝牙
阅读(1370)
推荐(0)
sizeof() 和strlen()区别
摘要:1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。 该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。 sizeof还可以用函数做参数,比如: short f(); printf("%d\n", si...
阅读全文
posted @
2010-03-28 14:41
蓝牙
阅读(169)
推荐(0)
图形设备接口(GDI)详解(转载自黑客基地)
摘要:设备环境类CDC: CDC是设备环境类的基类直接由CObject派生。是GDI的关键元素,它代表了物理设备。每一个C++设备环境对象都有相对应Windows设备环境,并通过一个32位类型的HDC句柄来标识。CDC类的虚拟性使我们可以很容易的做到编写同时适用于多种设备的代码。例如OnDraw函数的pDC->TextOut(0,0,"Hello");既可以适用于显示器、还可以适用于打印预览...
阅读全文
posted @
2010-03-27 09:52
蓝牙
阅读(718)
推荐(0)
unresolved external symbol _main错误解决办法
摘要:在创建项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有:libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainLIBCD.lib(wincrt0.obj) : error LNK2001: unres...
阅读全文
posted @
2010-03-26 20:09
蓝牙
阅读(1311)
推荐(0)