{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name = 인텔 [[oneAPI]] DPC++/C++ 컴파일러<br>Intel oneAPI DPC++/C++ Compiler
| other_names = {{cslist|icx|icpx|dpcpp (icpx -fsycl)}}
| developer = [[인텔]]
| latest_release_version = 2023.2.1
| latest_release_date = {{시작 날짜와 나이|2023|07|28}}<ref>{{웹 인용|url=https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#dpcpp-cpp|title=Intel® oneAPI DPC++/C++ Compiler|author=Intel Corporation|date=2022-11-02|website=software.intel.com|publisher=[[인텔]]|access-date=2022-12-01}}</ref>
| operating system = [[마이크로소프트 윈도우|윈도우]], [[리눅스]]
| genre = [[컴파일러]]
| license = [[프리웨어]], [[사유 소프트웨어|사유]]
| website = {{URL|https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html}}
}}
{{소프트웨어 정보
| name = 인텔 C++ 컴파일러 클래식<br>Intel C++ Compiler Classic
| other_names = {{cslist|icl|icpc|icc}}
| developer = [[인텔]]
| latest_release_version = 2021.10.0 Build 20230609_000000
| latest_release_date = {{시작 날짜와 나이|2023|07|28}}<ref>{{웹 인용|url=https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html#compilerclassic|title=Intel® C++ Compiler Classic|author=Intel Corporation|date=2022-11-02|website=software.intel.com|publisher=[[Intel]]|access-date=2022-12-01}}</ref>
| operating system = [[마이크로소프트 윈도우|윈도우]], [[macOS]], [[리눅스]]
| genre = [[컴파일러]]
| license = [[프리웨어]], [[사유 소프트웨어|사유]]
| website = {{URL|https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html}}
}}
'''인텔 C++ 컴파일러'''(Intel C++ Compiler, 간단히 icc 또는 icl)는 [[인텔]]이 [[리눅스|GNU/리눅스]], [[맥 OS X]], [[마이크로소프트 윈도우]]를 대상으로 제공하는 [[C (프로그래밍 언어)|C]]와 [[C++]] [[컴파일러]]의 모음이다.

인텔은 [[IA-32]], [[x86-64#인텔 64|인텔 64]] 프로세서, 그리고 AMD 프로세서와 같은 특정 비 인텔 호환 프로세서의 컴파일을 지원한다. 개발자들은 시스템 요구 사항을 확인할 필요가 있다. IA-32 및 인텔 64용 인텔 C++ 컴파일러는 [[스트리밍 SIMD 확장|SSE]], [[SSE2]], [[SSE3]], [[SSSE3]], [[SSE4]], [[고급 벡터 확장|AVX]] [[SIMD]] 명령어([[MMX (명령어 집합)|인텔 MMX 및 MMX2]]의 [[임베디드 시스템|임베디드]] 변종)를 만들어내는 자동 벡터라이저의 기능을 갖추고 있다.<ref>A. J. C. Bik, ''The Software Vectorization Handbook'' (Intel Press, Hillsboro, OR, 2004), {{ISBN|0-9743649-2-4}}.</ref>

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

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

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

== 언어 ==
인텔 컴파일러 제품군에는 [[C (프로그래밍 언어)|C]], [[C++]], [[포트란]]을 위한 프론트엔드가 제공된다.

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

== 아키텍처 ==
* [[IA-32]]
* [[x86-64]] ([[인텔 64]] 및 [[AMD64]])

== 버전 ==
* 인텔 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일 출시

== 실험 / 프로토타입 버전 ==
* [http://software.intel.com/en-us/whatif/ Intel STM Compiler Prototype Edition] - 2007년 9월 17일 출시<ref>[http://www.intel.com/pressroom/kits/events/idffall%5F2007 PRESS KIT - Intel Developer Forum<!-- Bot generated title -->]</ref>
* [http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/ Intel Concurrent Collections for C/C++ 0.3] - 2008년 9월 출시

== 플래그 ==
최적화 플래그는 다음과 같다. ([http://software.intel.com/en-us/articles/intel-software-technical-documentation/ 인텔 소프트웨어 기술 문서 사이트])

{| class="wikitable"
|-
! 윈도
! 리눅스 및 맥 OS X
! 설명
|-
| <code>/Od</code>
| <code>-O0</code>
| 최적화 안 함
|-
| <code>/O1</code>
| <code>-O1</code>
| 크기 최적화
|-
| <code>/O2</code>
| <code>-O2</code>
| 속도 최적화 및 일부 최적화 사용
|-
| <code>/O3</code>
| <code>-O3</code>
| O2의 최적화 모든 사용, 철저한 루프 최적화
|-
| <code>/QxO</code>
| <code>-xO</code>
| 비 인텔 CPU를 위한 SSE3, SSE2, SSE 명령어 집합 최적화 사용.<ref>http://www.intel.com/software/products/compilers/docs/cwin/release_notes.htm</ref>
|-
| <code>/fast</code>
| <code>-fast</code>
| 빠른 사용.  [[마이크로소프트 윈도우|윈도우]]의 경우 "<code>/O3 /Qipo /QxHost /no-prec-div</code>"와 동일. [[리눅스]]의 경우 "<code>-O3 -ipo -static -xHOST -no-prec-div</code>"와 동일.
|-
| <code>/Qprof-gen</code>
| <code>-prof_gen</code>
| 프로파일 생성하여 프로그램 컴파일.
|-
| <code>/Qprof-use</code>
| <code>-prof_use</code>
| <code>prof_gen</code>를 사용하여 컴파일한 프로그램을 실행한 뒤에만 사용할 수 있음. 컴파일 각 단계 동안 프로파일 정보 사용.
|}

== 같이 보기 ==
* [[실크 플러스]]
== 각주 ==
<references />

== 외부 링크 ==
* {{언어링크|en}} [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm 인텔 컴파일러] {{웨이백|url=http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm |date=20070513041645 }}
* {{언어링크|en}} [http://software.intel.com/en-us/articles/non-commercial-software-download/ 비상업 목적의 인텔 컴파일러 무료 다운로드]

{{인텔 소프트웨어}}
{{C++}}

[[분류:C++ 컴파일러]]
[[분류:C 컴파일러]]
[[분류:인텔 제품]]
[[분류:인텔 소프트웨어]]