DLL基礎(4) 變量導出
dll項目,名稱:dllvar
dllvar.h
//dllvar.h
#include<windows.h>
#ifdef DLLVAR_EXPORTS
#define DLLVAR_API __declspec(dllexport)
#else
#define DLLVAR_API __declspec(dllimport)
#endif
extern DLLVAR_API int nDllvar;
nDllvar
全局導出變量
dllvar.cpp
//dllvar.cpp
#include<windows.h>
#include "dllvar.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
//nDllvar = 100;
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
DLLVAR_API int nDllvar = 10;
創建win32 console項目加載dll
把dllvar.lib dllvar.dll複製到該項目下。
dllvar_main.cpp
//dllvar_main.cpp
#include <stdio.h>
#pragma comment(lib,"dllvar.lib")
extern int _declspec(dllimport) nDllvar;
int main(int argc, char *argv[])
{
printf("%d ",nDllvar);
nDllvar = 2;
printf("%d ",nDllvar);
return 0;
}