정보

C++ 컴파일 타임에 CPU 아키텍처 확인

1. IA32

IA32 아키텍처(Intel 32-bit Architecture)는 C++ 컴파일러에서 _M_IX86, __i386__ 등의 전처리기 중 하나 이상을 자동으로 등록하며, 컴파일러에 따라 많이 다르지만 보통 Visual C++ 컴파일러와 GCC/Clang 컴파일러는 각각 _M_IX86, __i386__을 많이 사용하는 듯 하다. 이 외의 컴파일러에 대해서는 5번 항목 참조.

2. AMD64

AMD64(x86-64, x64, …)는 C++ 컴파일러에서 _M_AMD64, __amd64__ 등의 전처리기 중 하나 이상을 자동으로 등록하며, 컴파일러에 따라 다르지만 보통 Visual C++ 컴파일러와 GCC/Clang 컴파일러는 각각 _M_AMD64, __amd64__을 많이 사용하는 듯 하다. 이 외의 컴파일러에 대해서는 5번 항목 참조.

3. ARM

ARM은 C++ 컴파일러에서 _M_ARM, __arm__ 등의 전처리기 중 하나 이상을 자동으로 등록한다. 이 외의 컴파일러에 대해서는 5번 항목 참조.

4. ARM64

ARM64는 C++ 컴파일러에서 __aarch64__ 전처리기를 자동으로 등록하며, Visual C++ 컴파일러에서는 아직 지원하지 않기 때문에 전처리기를 등록하지 않는다. 이 외의 컴파일러에 대해서는 5번 항목 참조.

5. 그 외

그 외의 아키텍처에 대해서는 이 문서를 참조하면 된다. Alpha, HP/PA RISC, IA64, Motorola 68k, MIPS, PowerPC 등 다양한 아키텍처에 대한 전처리기를 안내하고 있다.

태그 지정됨

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.