69,371
社区成员
发帖
与我相关
我的任务
分享
#ifndef DLL_EX_H
#define DLL_EX_H
extern __declspec(dllexport) int g_iTest;
extern "C" __declspec(dllexport) void func();
#endif
#include<iostream>
#include<Windows.h>
#include"dll_ex.h"
__declspec(dllexport) int g_iTest;
BOOL APIENTRY DllMain(HANDLE hMudle, DWORD dwReason, void* lpR)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
g_iTest = 19;
std::cout << g_iTest << std::endl;
case DLL_PROCESS_DETACH:
std::cout << "this is dll" << std::endl;
break;
default:break;
}
return TRUE;
}
extern "C" __declspec(dllexport) void func()
{
std::cout << "this is func" << g_iTest << std::endl;
return;
}
#include<iostream>
#include<Windows.h>
#include"dll_ex.h"
#pragma comment(lib,"dll_ex.lib")
__declspec(dllimport) int g_iTest;
void main()
{
// HINSTANCE hInst = ::LoadLibrary(TEXT("dll_ex.dll"));
// if (hInst == NULL)return;
// typedef void(*PF)();
// PF pf = (PF)GetProcAddress(hInst, "func");
// pf();
std::cout << g_iTest << std::endl;
func();
while (10);
// FreeLibrary(hInst);
return;
}
LIBRARY dll_ex.dll
EXPORTS
g_iTest DATA