인텔 C++ 컴파일러

인텔 C++ 컴파일러
개발자인텔
안정화 버전
18.0 (XE 2018) / 2017년 1월 26일(7년 전)(2017-01-26)
저장소
  • github.com/intel/llvm 위키데이터에서 편집하기
운영 체제리눅스, 마이크로소프트 윈도우, OS X
종류컴파일러
라이선스사유
웹사이트software.intel.com/en-us/intel-compilers/
인텔 C++ 컴파일러 (안드로이드)
개발자인텔
안정화 버전
14.0.1 / 2013년 11월 12일(10년 전)(2013-11-12)[1]
저장소
  • github.com/intel/llvm 위키데이터에서 편집하기
운영 체제안드로이드
종류컴파일러
라이선스상용, 학술, 평가. 리눅스의 경우 비상업용.
웹사이트software.intel.com/c-compiler-android

인텔 C++ 컴파일러(Intel C++ Compiler, 간단히 icc 또는 icl)는 인텔GNU/리눅스, 맥 OS X, 마이크로소프트 윈도우를 대상으로 제공하는 C와 C++ 컴파일러의 모음이다.

인텔은 IA-32, 인텔 64 프로세서, 그리고 AMD 프로세서와 같은 특정 비 인텔 호환 프로세서의 컴파일을 지원한다. 개발자들은 시스템 요구 사항을 확인할 필요가 있다. IA-32 및 인텔 64용 인텔 C++ 컴파일러는 SSE, SSE2, SSE3, SSSE3, SSE4, AVX SIMD 명령어(인텔 MMX 및 MMX2의 임베디드 변종)를 만들어내는 자동 벡터라이저의 기능을 갖추고 있다.[2]

나아가, 인텔 C++ 컴파일러는 대칭형 다중 처리에 대한 오픈MP 3.1과 자동 병렬화를 지원한다. 클러스터 오픈MP의 추가 기능과 더불어 이 컴파일러는 오픈MP 지향 분산 메모리 다중 처리메시지 전달 인터페이스 호출을 자동으로 만들어낼 수 있다.

인텔 C++ 컴파일러는 에디슨 디자인 그룹 프론트엔드(SGI MIPSpro, 코모 C++, 더 포틀랜드 그룹 따위)를 포함한 컴파일러 계열에 속한다. 이 컴파일러는 또한 IA-32, x86-64, 아이테니엄 2 아키텍처의 SPEC CPU 벤치마크에 널리 쓰이는 것으로도 알려져 있다.

인텔 C++ 컴파일러는 인텔 패러럴 스튜디오, 인텔 페러럴 스튜디오 XE, 인텔 C++ 컴포저 패키지, 인텔 C++ 컴포저 XE 패키지, 인텔 컴포저 XE 패키지, 인텔 클러스터 스튜디오를 포함한 인텔의 다양한 패키지를 통해 이용할 수 있다. 인텔 소프트웨어 제품 사이트에서 더 많은 정보가 제공된다.

언어

인텔 컴파일러 제품군에는 C, C++, 포트란을 위한 프론트엔드가 제공된다.

GCC 3.x 이전에 나온 초기 버전의 리눅스용 ICC는 GCC 2.x보다 C++ 표준을 더 잘 준수할 목적으로 Dinkumware 네임 맹글링을 이용한다. 이로 말미암아 ABI가 두 GCC 버전 모두와 호환되지 않게 되었다. 인텔은 2007년 6월 10.0판에서 Dinkumware 라이브러리를 제거하였다. 그 뒤로 이 컴파일러는 GCC 3.2 이후와 호환성을 유지하고 있다.

아키텍처

버전

  • 인텔 C++ 컴포저 XE 2013 (컴파일러 13) - 2012년 9월 5일
  • 인텔 C++ 컴포저 XE 2011 업데이트 6 이상 (컴파일러 12.1) - 2011년 9월 8일 출시
  • 인텔 C++ 컴포저 XE 2011 최대 업데이트 5까지 (컴파일러 12.0) - 2010년 11월 7일 출시
  • 인텔 C++ 컴파일러 11.1 - 2009년 6월 23일 출시
  • 인텔 C++ 컴파일러 11.0 - 2008년 11월 출시
  • 인텔 C++ 컴파일러 10.1 - 2007년 11월 7일 출시
  • 인텔 C++ 컴파일러 10.0 - 2007년 6월 5일 출시
  • 인텔 C++ 컴파일러 9.0 - 2005년 6월 14일 출시
  • 인텔 C++ 컴파일러 8.1 - 2004년 9월 출시
  • 인텔 C++ 컴파일러 8.0 - 2003년 12월 15일 출시
  • 인텔 C++ 컴파일러 7.1 - 2003년 3월 출시
  • 인텔 C++ 컴파일러 7.0 - 2002년 11월 25일 출시
  • 인텔 C++ 컴파일러 6.0 - 2002년 4월 24일 출시

실험 / 프로토타입 버전

  • Intel STM Compiler Prototype Edition - 2007년 9월 17일 출시[3]
  • Intel Concurrent Collections for C/C++ 0.3 - 2008년 9월 출시

플래그

최적화 플래그는 다음과 같다. (인텔 소프트웨어 기술 문서 사이트)

윈도 리눅스 및 맥 OS X 설명
/Od -O0 최적화 안 함
/O1 -O1 크기 최적화
/O2 -O2 속도 최적화 및 일부 최적화 사용
/O3 -O3 O2의 최적화 모든 사용, 철저한 루프 최적화
/QxO -xO 비 인텔 CPU를 위한 SSE3, SSE2, SSE 명령어 집합 최적화 사용.[4]
/fast -fast 빠른 사용. 윈도우의 경우 "/O3 /Qipo /QxHost /no-prec-div"와 동일. 리눅스의 경우 "-O3 -ipo -static -xHOST -no-prec-div"와 동일.
/Qprof-gen -prof_gen 프로파일 생성하여 프로그램 컴파일.
/Qprof-use -prof_use prof_gen를 사용하여 컴파일한 프로그램을 실행한 뒤에만 사용할 수 있음. 컴파일 각 단계 동안 프로파일 정보 사용.

같이 보기

각주

  1. “Intel C++ Compiler for Android documentation”. 
  2. A. J. C. Bik, The Software Vectorization Handbook (Intel Press, Hillsboro, OR, 2004), ISBN 0-9743649-2-4.
  3. PRESS KIT - Intel Developer Forum
  4. http://www.intel.com/software/products/compilers/docs/cwin/release_notes.htm

외부 링크

  • (영어) 인텔 컴파일러 Archived 2007년 5월 13일 - 웨이백 머신
  • (영어) 비상업 목적의 인텔 컴파일러 무료 다운로드
  • v
  • t
  • e
기울인 항목들은 더 이상 지원되지 않거나 종료 예정임을 나타냄.
개발 도구
  • 페러럴 스튜디오
  • C++ 컴파일러
  • 포트란 컴파일러
  • 디버거
  • 패러럴 어드바이저
  • 패러럴 인스펙터
  • VTune
  • 어레이 비주얼라이저
  • 실크 플러스
구성 요소
  • Integrated Performance Primitives (IPP)
  • 매스 커널 라이브러리 (MKL)
  • 스레딩 빌딩 블록 (TBB)
  • 컨터런트 콜렉션 (CnC)
  • 패러럴 빌딩 블록 (PBB)
    • 인텔 어레이 빌딩 블록 (ArBB)
    • Ct
  • Indeo
공개 소스조직
  • 개발자 존
  • 앱업
인텔 브랜드가 아닌것
  • v
  • t
  • e
C++ 특징
C++ 표준 라이브러리
  • I/O 스트림
  • 스마트 포인터
  • STL
  • 문자열
컴파일러
IDE
C++ 및 기타 언어