Program Language/C & C++

[C++] GetProcAddress가 nullptr을 Return 할 때,

야곰야곰+책벌레 2022. 7. 1. 14:09
728x90
반응형

기존에는 아무 생각 없이 잘 되었기 때문에 신경 쓰지 않았는데, 오늘 테스트 중에 계속 nullptr가 리턴되어서 난감했다.

DLL에는 아래와 같이 만들어 주고

extern "C" __declspec(dllexport) int __get_string(string* str);
extern "C" __declspec(dllexport) int __disp_string();

Main에는 아래와 같이 해 두었다.

int main()
{
	HMODULE hmodule = LoadLibrary(L"DllCommon.dll");

	if (hmodule != NULL)
	{
		using FUNC_DISP = int(*)();
		FUNC_DISP func = (FUNC_DISP)GetProcAddress(hmodule, "__disp_string");
		func();
	}

	FreeLibrary(hmodule);
	return 0;
}

그런데 계속해서 func에 nullptr가 리턴되어서 진행이 안되었다.

DLL에 측에서 export를 선언한 헤드 파일을 stdafx.h에 인클루드 시키니 정상 동작하였다.

이유는 잘 모르겠지만, 그래야 하는 것 같다.

728x90
반응형