生成/创造 DLL 及调用/引用DLL里的函数、全局变量、静态C++类成员函数等

生成/创建 DLL 及调用/引用DLL里的函数、全局变量、静态C++类成员函数等

原文及更多内容,在这里:http://yysource.sourceforge.net/?p=66

创建DLL:

 新建DLL工程:

  在VC6下,File —> New —> Projects —> Win32 Dynamic-Link Library(一般在倒数第二个)—> 输入名字 —> 选择 An empty DLL project. —> Finish

 新建头文件:

  File —> New —> Files —> C/C++ Header File

  我的头文件是:ErrTest.h

/***************************************************************************
Module:  ErrTest.h
***************************************************************************/

#ifndef ERRTEST_H
#define ERRTEST_H

// 该宏定义在(VC6.0下)工程属性--> C/C++ --> project options 中由系统默认定义
// 所以同一个DLL工程引用此头文件时,就不用手工定义 ERRTOOL_EXPORTS 了
#ifdef ERRTEST_EXPORTS

#define ERRTOOLAPI __declspec(dllexport)	// 当此头文件被DLL中的源代码模块引用时定义

#else 

#define ERRTOOLAPI __declspec(dllimport)	// 当此头文件被其他工程中的源代码模块引用时定义

#endif

class ERRTOOLAPI ErrTest {	// ERRTOOLAPI 不是放在 class 左边!
public:
	static void printf(const char *fmt, ...);
	static HANDLE GetConsole(int nStdHandle = STD_OUTPUT_HANDLE);
	static HANDLE	hConsole;
};

ERRTOOLAPI extern int nErrTool;	// 要加 extern

ERRTOOLAPI void func(void);

#endif
////////////////////////////// End of File /////////////////////////////////


 新建源文件:

原文及更多内容,在这里:http://yysource.sourceforge.net/?p=66