본문 바로가기
프로그래밍/MFC

[MFC] 시스템 정보 가져오기 (CPU 스레드 수, 타입 등)

by GhostWeb 2019. 3. 11.
반응형


 현재 시스템 정보를 가져오는 방법에 대해서 알아보도록 할게요.

 이 함수를 통해 CPU의 정보를 얻어 시스템 사양에 맞게 프로그램이 동작, 설정하도록 할 수 있어요.


소스 코드

SYSTEM_INFO stSysInfo;

GetSystemInfo(&stSysInfo);



구조체

typedef struct _SYSTEM_INFO {

    union {

        DWORD dwOemId;          // Obsolete field...do not use

        struct {

            WORD wProcessorArchitecture;

            WORD wReserved;

        } DUMMYSTRUCTNAME;

    } DUMMYUNIONNAME;

    DWORD dwPageSize;

    LPVOID lpMinimumApplicationAddress;

    LPVOID lpMaximumApplicationAddress;

    DWORD_PTR dwActiveProcessorMask;

    DWORD dwNumberOfProcessors;

    DWORD dwProcessorType;

    DWORD dwAllocationGranularity;

    WORD wProcessorLevel;

    WORD wProcessorRevision;

} SYSTEM_INFO, *LPSYSTEM_INFO;



설명

>> dwNumberOfProcessors

CPU의 스레드 개수로 CPU의 코어 개수가 아니에요.


>> dwProcessorType

PROCESSOR_INTEL_386 (386)

PROCESSOR_INTEL_486 (486)

PROCESSOR_INTEL_PENTIUM (586)

PROCESSOR_INTEL_IA64 (2200)

PROCESSOR_AMD_X8664 (8664)

PROCESSOR_ARM (Reserved)


 다음 사진은 제 노트북에서 소스코드를 돌려본 결과인데요.

 dwNumberOfProcessors = 4, dwProcessorType = 586 로 CPU 스레드가 4개인 걸 알 수 있어요.





 확인을 위해 인텔 홈페이지에서 제 노트북의 CPU 모델을 넣어 확인해보면 CPU 코어는 2개, 

CPU 스레드는 4개인 걸 확인할 수 있으며, 작업관리자에서도 스레드가 4개인 걸 확인할 수 있어요.





 더 자세한 _SYSTEM_INFO의 정보는 아래의 링크를 통해 참고해주세요.

_SYSTEM_INFO 설명



반응형