c语言编写一个简单的dll(动态链接库)

在出程序中加入如下代码

// Test63.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    
    
	switch(ul_reason_for_call){
    
    
		//DLL被加载到内存时执行
		case DLL_PROCESS_ATTACH:
		{
    
    
			break;
		}
		//进程中有线程创建时执行
		case DLL_THREAD_ATTACH:
		{
    
    
			break;
		}
		//线程正常退出时执行
		case DLL_THREAD_DETACH:
		{
    
    
			break;
		}
		//动态链接库被卸载时执行
		case DLL_PROCESS_DETACH:
		{
    
    
			break;
		}
		default:break;

	}
    return TRUE;
}

int MyMessageBox(char* lpText,char* lpCaption)
{
    
    
	MessageBox(NULL,lpText,lpCaption,0);
	return 0;
}

添加一个文本文件Export.def

EXPORTS
	MyMessageBox

这里指定了要导出的类

编译没有问题会得到一个Test63.dll文件和一个Test63.lib(符号表文件)
这个就是外部链接库文件

猜你喜欢

转载自blog.csdn.net/chendongpu/article/details/121351385