随笔分类 -  C/C++

__declspec(dllexport) & __declspec(dllimport)
摘要:__declspec(dllexport) & __declspec(dllimport) __declspec(dllexport)声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中 省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类__declspec(dllimport)声明一个导入函数,是说这个函数是从别的DLL导入。我要用。一般用于使用某个dll的exe中 不使用 __declspec(dllimport) 也能正确编译代 阅读全文
posted @ 2011-05-10 15:42 GT_Andy
(转载)C++中模板使用介绍
摘要:1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float max( float x,float y){return (x>y)? x:y ;}//函数3.double max(double x,double y){return (c>y)? x:y ;}但如果在主 阅读全文
posted @ 2011-05-06 16:15 GT_Andy
给对话框注册类名
摘要:用MFC写的对话框程序的默认类名是#32770,现在我要将这个类名改成自定义的类名(如:FSL的对话框)。在调用CreateWindow之前一般都进行RegisterClass的操作,就是说建立一个窗口实例前,得先将这个窗口类注册。其实MFC只是将这些操作封装在里面去了而以,原理上我们只要将RegisterClass(CONST WNDCLASS *lpWndClass)中的lpWndClass的lpszClassName改成自己定义的就行了。下面我以对话框应用程序为例,建立一个类名为"BlackFox的对话框"的对话框:1、新建一个基于对话框工程,工程名为test。2、修改资源文件。用记事本 阅读全文
posted @ 2011-02-18 16:45 GT_Andy
CString、BSTR和LPCTSTR之间的区别
摘要:一、定义1、CString:动态的TCHAR数组。它是一个完全独立的类,封装了+等操作符和字符串操作方法。2、BSTR:专有格式的字符串(需要使用系统函数来操纵)。定义为:typedef OLECHAR FAR* BSTR3、LPCTSTR:常量的TCHAR指针。定义为:typedef const char* LPCTSTR二、要点1、char*:指向ANSI字符数组的指针,其中每个字符占8位(有效数据是除掉最高位的其他七位),它保持了与传统C/C++的兼容。2、LPSTR:指向一个以“\0”结尾的ANSI字符数组的指针,可与char*互换使用,它通常在Win32中使用。其中LP表示长指针(l 阅读全文
posted @ 2011-01-18 20:20 GT_Andy