👨🏼💻개발/C | C++
C/C++ - DLL 만들기, DLL 사용하기 (GCC)
Janger
2023. 3. 23. 09:01
728x90
my_dll.c (DLL 만들기)
#include <windows.h>
void func() {
system("start www.google.com");
}
GCC DLL 빌드
gcc -shared my_dll.dll -o my_dll.c
run.c (DLL 사용하기)
#include <stdio.h>
#include <windows.h>
typedef void(*dll_func)();
int main(){
HINSTANCE hDLL = LoadLibrary("my_dll.dll");
if(hDLL == NULL){
printf("Failed to load DLL\n");
return 1;
}
dll_func func = (dll_func)GetProcAddress(hDLL, "func");
if(func == NULL){
printf("Failed to get function address\n");
return 1;
}
(*func)();
return 0;
}
#include "windows.h"
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
system("calc.exe");
return TRUE;
}
gcc -shared test.dll -o test.c
rundll32 test.dll ANYTHING~
728x90