Re: глобальные переменные
Добавлено: 22 янв 2010, 13:43
А что за глобальные объекты windows?IceFlame писал(а):Можно разве что использовать глобальные объекты Windows.
А что за глобальные объекты windows?IceFlame писал(а):Можно разве что использовать глобальные объекты Windows.
Код: Выделить всё
#include <windows.h>
#include <iostream>
int GlobalVar = 0;
typedef int(__stdcall *INCGLOBALFUNC)();
int main(int argc, char* argv[])
{
HANDLE Dll = LoadLibrary("dll.dll");
INCGLOBALFUNC IncGlobalFunc = (INCGLOBALFUNC)GetProcAddress(Dll,"IncGlobal");
std::cout << "Before: " << GlobalVar << std::endl;
IncGlobalFunc();
std::cout << "After: " << GlobalVar << std::endl;
FreeLibrary(Dll);
Sleep(5000);
return 0;
}
extern "C" int* __declspec(dllexport) __stdcall GetGlobal()
{
return &GlobalVar;
}
Код: Выделить всё
#include <windows.h>
int __stdcall DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
typedef int* (__stdcall *GETGLOBALADDR)();
extern "C" int __declspec(dllexport) __stdcall IncGlobal()
{
HANDLE exe = GetModuleHandle(NULL);
GETGLOBALADDR GetGlobalAddr =(GETGLOBALADDR)GetProcAddress(exe,"GetGlobal");
int* glb=GetGlobalAddr();
*glb = *glb+1;
return *glb;
}