Program Language/C & C++

[C++] 윈도우즈에서 텍스트로 함수 호출

야곰야곰+책벌레 2021. 10. 22. 15:07
728x90
반응형

  남겨진 코드를 쫓다 보니 함수형 프로그래밍의 초입까지 도착한 것 같다. 우선 가장 간단하게 함수 이름으로 함수를 실행시키는 코드가 필요했다. 이런저런 복잡한 코드가 많았는데 Windows와 gcc를 사용하는 os와의 차이는 조금 있는 것 같다. 나는 우선 windows를 사용하니

#include <Windows.h>

typedef void(&u_func)(char*);

void hello(char* name)
{
	printf("hello %s !!\n", name);
}

int main()
{
	HMODULE module = GetModuleHandle(NULL);
	FARPROC proc = GetProcAddress(module, "hello");
	hello("Tom");
	
	return 0;
}

이렇게 간단하게 구현해 봤다. 함수형 포인터를 선언하고 Loadlibrary 하듯이 실행하면 되었다. 기존에 사용하던 explicit linking과 크게 다르지 않아서 이해하기는 쉬웠다. 멀고 먼 metaclass의 세계로 빠져보자.

728x90
반응형

'Program Language > C & C++' 카테고리의 다른 글

[C++] 스마트 포인터  (0) 2021.10.25
[C++] emplace_back  (0) 2021.10.25
error C2558 : no copy constructor available or copy constructor is declared 'explicit'  (4) 2021.10.21
[C++] std::async  (0) 2021.10.19
[C++] values  (0) 2021.10.08