728x90
DLL 파일의 버전을 가져와보겠습니다. (exe 파일도 동일한 방법으로 가능합니다)
우선 가져올 DLL 파일의 속성에 들어갔을 때 나오는 버전정보입니다.
아래 DLL은 머신러닝, 딥러닝을 Inference할 때 사용하는 DLL입니다.
Code
버전정보를 가져오는 코드입니다.
#include <Windows.h>
#pragma comment(lib, "version.lib")
int main()
{
int version[4];
DWORD nullHandle, length;
// 프로젝트 속성에 문자 집합이 유니코드 형식인 경우 wchar_t*, 멀티바이트 형식일 경우 char*
wchar_t* fileName = L"onnxruntime.dll";
//GetModuleFileName(NULL, fileName, sizeof(fileName));
length = ::GetFileVersionInfoSize(fileName, &nullHandle);
if (length == 0)
return 0;
BYTE *pVerInfo = new BYTE[length];
if (::GetFileVersionInfo(fileName, NULL, length, pVerInfo))
{
UINT verlength;
LPVOID versionPtr;
if (::VerQueryValue(pVerInfo, _T("\\"), &versionPtr, &verlength))
{
VS_FIXEDFILEINFO vi = *(VS_FIXEDFILEINFO*)versionPtr;
version[0] = vi.dwFileVersionMS >> 16;
version[1] = (vi.dwFileVersionMS << 16) >> 16;
version[2] = vi.dwFileVersionLS >> 16;
version[3] = (vi.dwFileVersionLS << 16) >> 16;
}
}
printf_s("Version : %d.%d.%d.%d", version[0], version[1], version[2], version[3]);
delete[] pVerInfo;
return 0;
}
Result
버전 정보를 잘 가져온 것을 확인할 수 있습니다.
'프로그래밍 > C, C++' 카테고리의 다른 글
[Visual Studio 2015, C/C++] CPU 병렬처리 Multi-Thread (OpenMP) (0) | 2023.08.11 |
---|