TIL-2024/04/17

박상우·2024년 8월 12일
0

📝 TIL

목록 보기
19/45
post-thumbnail

GCC?

GNU Compiler Collections의 약자로 GNU 프로젝트의 일환으로 널리 쓰이고 있는 컴파일러.

컴파일러

컴파일은 코드를 다른 언어를 보다 저급 언어로 바꾸어 주는 과정을 말한다. 우리가 인식할 수 있는 C, python과 같은 코드를 기계어로 바꾸어주는 과정을 한다.

소스 코드가 실행되는 과정

  1. 전처리 과정 ( 결과: *.i )

  2. 컴파일 단계 ( 결과: *.s )

    전처리된 파일인 .i 파일로 어셈블리어 파일 .s파일을 생성한다.

    gcc -S main.c2

    어셈블리어(Assembly Language) - 어셈블러 언어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급언어.

  3. 어셈블 단계

    gcc -C main.c

    어셈블리어로 된 .s 파일을 기계어 파일(*.o) 파일로 변환한다. 이 파일을 목적 파일이라고 한다. 이 파일은 컴퓨터가 읽을 수 있는 2진수 코드가 된다.

  4. 링크 단계

    작성한 프로그램이 사용하는 다른 프로그램과 다른 라이브러리를 가져와서 연결하는 과정. 실행가능한 파일을 생성한다.

    gcc -o main main.c func.c

Reference

https://80000coding.oopy.io/d5fa7c87-192f-4c68-95eb-aa4af5b9dbf5

https://ko.wikipedia.org/wiki/어셈블리어

profile
나도 잘하고 싶다..!

0개의 댓글