cc와 gcc의 차이가 뭔가요??

stiner01의 이미지

cc로 빌드하고 나서 실행 시키면 무한 루프로 빠져버리는 문제가 gcc로 빌드를 하면 문제없이 잘 되네요..

cc와 gcc의 어떠한 차이 때문에 이런 현상이 나오는 건가요??

winner의 이미지

통상 cc 는 gcc 의 별칭일텐데요...
Linux 가 아닌 모양?...

stiner01의 이미지

리눅스 페도라7 입니다.

바라미의 이미지

CC 는 말그대로 C 컴파일러입니다.
하지만 gcc 는 gnu compiler collection. 즉 컴파일러 모음이자 wrapper 입니다.
C++, pascal, ada, 포트란 등등.. 여러가지 언어를 컴파일 할수 있는데요.
gcc 가 컴파일 할 시 해당 소스의 언어를 알아 본 후에 해당 언어의 컴파일러를 호출해서 컴파일 하는 것입니다.
실제로 gcc 를 이용해 c++ 을 컴파일 하면 g++ 이 백엔드로 작동해 컴파일 하게 되는 겁니다.

jg의 이미지

첨언하면 gcc 로 c++ 컴파일은 아래와 같이 합니다.

gcc test.cc -lstdc++

그런데 원래 질문하신 것에서 확장자가 *.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치면 써지는 컴파일러하고 다른 파일이라서 구현체 의존 기능 같은게 충돌할 수도 있고요.

jg의 이미지

일반적으로 맞는 말씀인 것 같기는 한데
다른 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}

익명 사용자의 이미지

내가 알고 있기는 그런데...
gcc 쓰면 "자유"이지만 cc를 쓰면 "공짜" (Show를 하면 공짜? 꺄악~)

세벌의 이미지

ls -l gcc cc
이렇게 한 번 확인해 보시면 혹시 도움이 될 정보가 있지 않을까요?

http://sebul.sarang.net/

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.