C 컴파일의 4단계와 링커 — gcc -c는 뭐고 -o는 뭐가 다른가
C 컴파일 4단계와 링커 대표 이미지시스템 프로그래밍 수업에서 컴파일러, 링커, POSIX 같은 단어가 한꺼번에 쏟아진 날이 있었다. 그동안은 그냥 gcc main.c만 치고 살았는데, 수업 자료에 gcc -c, gcc -o, gcc -S, gcc -E가 따로 나오는 걸 보고 처음으로 이게 뭔 차이인지 궁금해졌다. 나중에 알고 보니 이유는 단순했다. gcc는 사실 컴파일러 그 자체가 아니라 컴파일러 드라이버였고, 내부적으로 네 단계짜리 도구 체인을 순서대로 불러주는 놈이었다.같은 시간에 "요즘 컴파일러는 LLVM 기반"이라는 얘기도 들었는데, gcc랑 clang 차이까지 이번 기회에 같이 정리해봤다.hello.c가 실행 파일이 되기까지한 줄짜리 hello.c를 실행 파일로 만드는 데도 사실 네 단계를 거..
개발
2026. 7. 24. 07:43