컴파일러와 링커
- Clang
C는 컴파일러에 의해 소스파일(.c)이 오브젝트 코드(.obj, )로 컴파일된다.
목적 파일은 0과 1로 이루어진 바이너리 코드이며, 일반적으로 하나의 .c 파일당 하나의 .obj가 컴파일된다.
오브젝트 코드 간의 의존성 관계를 링커(Linker)가 연결하여 실행 파일 (.exe)를 만들어낸다.
.c ==컴파일==> .obj ==링커==> .exe
직접 컴파일러를 통해 .exe를 만들어보는 것도 java에 비해 간단하다. 컴파일하고, exe를 실행하면 끝이다.
// 소스코드 경로로 이동 후
// hello.c를 컴파일하되 hello.exe라는 이름으로 exe를 생성하라
gcc hello.c -o hello.exe
// 생성된 exe 실행
./hello.exe
만약 Cpp를 사용하고 있다면 컴파일러를 g++로만 교체하면 된다.
- Java (참고)
Java에서는 컴파일러(javac)에 의해 소스파일(.java)이 컴퓨터가 바로 인식할 수 없는 바이트코드(.class)로 변환된다. 바이트 코드는 JVM이 이해할 수 있는 언어로, JVM이 또 한 번 번역 과정을 거쳐야 기계가 이해할 수 있다.
.java ==javac(자바컴파일러)==> .class ==JVM==> .exe
자바를 직접 컴파일, 실행하는 방법은 아래 포스트를 참고하자
darrengwon.tistory.com/820?category=910003
'Programming Language > C (Clang)' 카테고리의 다른 글
C 언어 기초적인 표기법과 언어 전반에 대한 지식 (0) | 2021.01.04 |
---|