%EC%9D%98%20%EC%9D%B4%EC%8B%9D%20%EA%B0%80%EB%8A%A5%ED%95%9C%20%EC%9D%B4%EB%A6%84.png)
cc는 C 컴파일러의 POSIX 이름입니다. C++ 컴파일러(및 링커)의 일반 이름이 있습니까? g++
일반 gcc 또는 ld를 사용할 때 포함되지 않는 일부 라이브러리도 추가된다는 점에 유의하세요 .
답변1
POSIX C 컴파일러 프런트엔드는 다음과 같습니다.지금c99
; cc
널리 사용 가능하지만 보장되지는 않습니다. POSIX는 C++와 관련된 어떤 것도 지정하지 않으므로 C++ 컴파일러와 링커를 호출하는 표준화된 명령을 찾을 수 없습니다.
일반적인 관행(예를 참조하세요.GNU 메이크CC
) 및 변수 에 의존하는 것입니다 CXX
. GNU의 경우 기본값은 각각 cc
및 입니다 g++
. BSD는 cc
and c++
(예를 들어 참조)를 사용하는 경향이 있습니다.OpenBSD의 구성). 링커는 컴파일러 드라이버를 통해 액세스되며 명시적으로 호출되지 않습니다.
답변2
Linux의 경우 지난 20년 동안 내가 본 대부분의 Makefile은 gcc
/ 외에는 아무것도 사용하지 않습니다 g++
. 누군가 GCC가 아닌 실제 링커를 사용하려고 하면 일반적으로 ld
. 한번쯤 본 적 cc
있을 겁니다.
cc
대부분의 Linux 배포판은 to to 에 심볼릭 링크를 제공 gcc
하지만 GCC를 제거하고 대신 clang을 설치하는 경우에는 제공하지 않습니다.
예를 들어 FreeBSD는 최근 Clang/LVM으로 마이그레이션했고, 다른 BSD는 계속 GCC를 사용하고, Mac OS도 Clang을 사용하므로 이식성이 있는지는 알 수 없습니다. Android에는 자체 툴체인이 있습니다.
나는 다른 유닉스를 사용하지 않았으므로 코멘트가 없습니다.
귀하의 사용 사례는 무엇입니까? 질문을 편집하고 자세한 내용을 제공하십시오.