CC 는 말그대로 C 컴파일러입니다.
하지만 gcc 는 gnu compiler collection. 즉 컴파일러 모음이자 wrapper 입니다.
C++, pascal, ada, 포트란 등등.. 여러가지 언어를 컴파일 할수 있는데요.
gcc 가 컴파일 할 시 해당 소스의 언어를 알아 본 후에 해당 언어의 컴파일러를 호출해서 컴파일 하는 것입니다.
실제로 gcc 를 이용해 c++ 을 컴파일 하면 g++ 이 백엔드로 작동해 컴파일 하게 되는 겁니다.
OS 가 뭐죠?
통상 cc 는 gcc 의 별칭일텐데요...
Linux 가 아닌 모양?...
리눅스 페도라7 입니다.
리눅스 페도라7 입니다.
gcc 는 C 컴파일러가 아닙니다..
CC 는 말그대로 C 컴파일러입니다.
하지만 gcc 는 gnu compiler collection. 즉 컴파일러 모음이자 wrapper 입니다.
C++, pascal, ada, 포트란 등등.. 여러가지 언어를 컴파일 할수 있는데요.
gcc 가 컴파일 할 시 해당 소스의 언어를 알아 본 후에 해당 언어의 컴파일러를 호출해서 컴파일 하는 것입니다.
실제로 gcc 를 이용해 c++ 을 컴파일 하면 g++ 이 백엔드로 작동해 컴파일 하게 되는 겁니다.
첨언하면 gcc 로 c++
첨언하면 gcc 로 c++ 컴파일은 아래와 같이 합니다.
그런데 원래 질문하신 것에서 확장자가 *.c 라면 gcc는 당연히 c 컴파일러를
호출할 것이므로 어차피 같은 결과가 나와야 하는 것이 아닐까요?
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
글쎄요....
gcc 가 꼭 그냥 전달만 하는 역할이 아니니까요.
gnu 확장 매크로 처리라던지, 여러 다른 부가적인 효과들이 따르니까요.
작성한 코드가 gnu 확장과 충돌하는 코드라던지, 아니면 gcc에서 쓰는 cc 하고 cc치면 써지는 컴파일러하고 다른 파일이라서 구현체 의존 기능 같은게 충돌할 수도 있고요.
일반적으로 맞는
일반적으로 맞는 말씀인 것 같기는 한데
다른 cc 가 깔려있을 가능성이 매우 적어보입니다.
gcc에서 gnu 의 확장을 제거하고 컴파일하는 옵션을 일러주신다면
문제해결에 도움이 될 것 같군요.
제가 아는 것은 -ansi 밖에 없어서... =_=
==
혹시 소스파일에 컴파일러 버전에 따른 전처리 (#if, #else #endif) 를
다르게 하기 때문인지는 아닐런지요..
소스가 없어서 뜬구름 잡기식으로 답변할 수 밖에 없지 않나 싶네요.
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
cc는 BSD 컴파일러 아닌가요?
내가 알고 있기는 그런데...
gcc 쓰면 "자유"이지만 cc를 쓰면 "공짜" (Show를 하면 공짜? 꺄악~)
ls -l gcc cc 이렇게 한
ls -l gcc cc
이렇게 한 번 확인해 보시면 혹시 도움이 될 정보가 있지 않을까요?
http://sebul.sarang.net/
세벌 https://sebuls.blogspot.kr/
댓글 달기