Using EOS SDK on Windows

Windows에서 EOS SDK를 구현하기 위한 레퍼런스 정보입니다.

1분 소요

Windows에서 SDK를 구현하기 전, 플랫폼 구현을 위해 일반 가이드라인 및 레퍼런스를 확인하세요.

Windows에서 빌드하기

Windows에서는 Windows/eos_Windows_base.h 를 사용하지 않아도 됩니다. 크로스 플랫폼 제품을 쉽게 구현할 수 있도록 제공됩니다.

Windows에서 링크하기

Windows 에서는 프로젝트의 링크 명령어에 링크타임 라이브러리와 로드타임 라이브러리를 추가해야 합니다.

  • 링크타임 라이브러리는 64비트 앱의 경우 EOSSDK-Win64-Shipping.lib 이고, 32비트 앱의 경우 EOSSDK-Win32-Shipping.lib 입니다.
  • 런타임 라이브러리는 64비트 앱의 경우 EOSSDK-Win64-Shipping.dll 이고, 32비트 앱의 경우 EOSSDK-Win32-Shipping.dll 입니다.

스타트업 시 라이브러리가 자동으로 로드되지 않도록 링크 중에는 /DELAYDLL 을 사용하세요. 자세한 정보는 아래 로드하기 섹션을 참조하세요.

Windows에서 로드하기

/DELAYDLL 로 링크하지 않으면 애플리케이션 시작 시 EOS SDK가 자동으로 로드됩니다. /DELAYDLL 을 사용할 때 DLL을 로드하는 방법은 두 가지입니다.

표준 사용법은 완전 구현형 __delayLoadHelper2 함수를 활용하는 것입니다. 이 방법을 사용하면 EOS SDK로의 첫 번째 호출 시 자동으로 DLL을 로드합니다. Microsoft는 delayhlp.cpp 파일의 MSVC 툴 체인으로 구현합니다. 다음과 같은 완전 기본 구현으로 DLL이 자동으로 로드되지 않게 할 수 있습니다.

extern "C"
FARPROC WINAPI
__delayLoadHelper2(
PCImgDelayDescr pidd,
FARPROC * ppfnIATEntry
)
{
return NULL;
}

다음과 같이 해당 모듈을 명시적으로 로드해도 됩니다.

HMODULE Module = ::LoadLibrary(Filename);

Filename 은 EOS SDK DLL 파일의 경로입니다. 해당 DLL이 게임의 작업 디렉터리에 있으면 이 파일 이름을 전체 경로로 지정할 필요는 없습니다. 64비트 Windows용 EOSSDK-Win64-Shipping.dll 과 비슷할 확률이 높습니다.

모듈 언로드하기

다음 명령어를 사용하여 모듈을 언로드할 수 있습니다.

`::FreeLibrary(Module);`

여기서 모듈은 ::LoadLibrary 가 반환한 값입니다.