실행 중에 시스템 아키텍처 감지 (x86/x64)
-
06-07-2019 - |
문제
프로그램 중에 시스템/프로세서 아키텍처를 감지 할 수 있습니까? ~이다 C ++에서 실행 (Windows 및 Linux에서)?
다른 팁
Linux에서는 사용할 수 있습니다 uname
시스템 호출. 이 사용자가 할당 된 구조물을 채 웁니다.
struct utsname { char sysname[]; /* Operating system name (e.g., "Linux") */ char nodename[]; /* Name within "some implementation-defined network" */ char release[]; /* OS release (e.g., "2.6.28") */ char version[]; /* OS version */ char machine[]; /* Hardware identifier */ #ifdef _GNU_SOURCE char domainname[]; /* NIS or YP domain name */ #endif };
그만큼 machine
필드는 아키텍처를 식별합니다.
이 정보로 무엇을하려고하는지에 따라 (예 : 특정 CPU에 대한 가장 빠른 수작업 조립 코드를 선택하십시오) Linux에서는 특히 "플래그"섹션을 읽으려면 /proc /cpuinfo를 읽으려면 SSE 중에서 선택할 수 있습니다. /SSE2 구현 대 MMX 구현 대 그 밖의.
Big Endian System vs. Little Endian 시스템은 조금 더 복잡합니다. http://en.wikipedia.org/wiki/endianess
제휴하지 않습니다 StackOverflow