데굴데굴이
데굴이의 개발일지
데굴데굴이
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프로그래밍
      • C,C++
      • C#
      • 백준(BOJ)
      • 알고리즘
      • HTML
      • WinAPI
      • ETC
    • 유니티
      • 쉐이더
    • 컴퓨터 구조
    • 일본어

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 컴파일
  • msvc++
  • 10811
  • 10811번
  • 바구니 뒤집기
  • Sequence Point
  • 알고리즘
  • BOJ
  • 최대 상승
  • C언어
  • 시퀀스 포인트
  • 25644번
  • C
  • c++
  • multable
  • 평가 순서
  • 라이브러리 적용
  • 백준
  • 정적 라이브러리
  • 동적 라이브러리
  • 정적 라이브러리 만들기
  • 동적 라이브러리 만들기
  • 라이브러리
  • 25644
  • 재귀함수가 뭔가요?
  • 동적 라이브러리 적용
  • 1158번
  • 전처리
  • 1032번#
  • 1343번

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
데굴데굴이

데굴이의 개발일지

프로그래밍/ETC

컴파일러 종류 [ Compiler ]

2022. 12. 31. 00:00
반응형

글을 읽기 전 컴파일러에 대해 알기 위해선 컴파일 에 대해 알아야 합니다.

 

관련 글은 아래 링크를 참고해 주세요.

https://gamedeveloper-programming.tistory.com/3
 

빌드 과정 [Build Process]

Bulid 란 ? 빌드(Build)란 여러 소스코드 파일들을 기계어로 변환 후 실행 파일 혹은 라이브러리로 만드는 과정을 의미합니다. 컴퓨터는 0 과 1밖에 모르기 떄문에 우리가 작성하는 코드들을 바로 컴

gamedeveloper-programming.tistory.com

 

 

 

컴파일러 란?

컴파일러(compiler, 순화 용어: 해석기, 번역기)는 '특정 프로그래밍 언어로 쓰여 있는 문서'(source code)를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 컴파일러는 고급 프로그래밍 언어를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어(예, 어셈블리 언어, object 코드, machine code)로 바꾸는 데 사용된다.

 

 

컴파일러 종류

컴파일러 종류에는 세가지의 컴파일러가 있습니다.

  • GCC ( GNU C 컴파일러 )
  • MSVC++ ( 마이크로소프트 비주얼 C++ 컴파일러 )
  • Clang 컴파일러 ( 정확히는 컴파일러 프론트엔드 )

 

GCC

리눅스용 공식 C/C++ 컴파일러

C89 표준 이전인 1987년에 먼저 출시 됐었다.

유닉스, 리눅스 기반의 플랫폼에서 많이 쓰였다.

C표준을 대부분 지원합니다.

 

 

MSVC++

비주얼 스튜디오 설치 시 같이 깔리는 컴파일러, 확장자가 *.c 인 파일은 c표준으로 컴파일함

단, C99표준을 기반으로하여 컴파일을 하는데, 그마저도 C99의 문법을 지원하지도 않고 C11은

 거의 지원 안하는 등. C보다는 C++ 개발에 중점을 둔 컴파일러.

윈도우 플랫폼에서 많이 쓰인다.

 

 

Clang

고대 C/C++ 컴파일 방식은 시간이 지나면서 다른 최신 컴파일 방식에 비해 한계를 보이고 있던 중,

혁신적인 LLVM 컴파일 방식이 등작했고, 이를 C 계열 언어에 도입한 것이 Clang 컴파일러이다.

이로인해 기존에는 불가능했던 것들이 가능하게 됐다.

 

애플이 처음에 개발했고, 오픈 소스가 되면서 마이크로소프트, 구글 같은 대기업들도 같이 개발하였다.

gcc컴파일 명령어와 거의 비슷해서 gcc로 컴파일 하던 사람들이 많이 옮겼다.

 

gcc보다 컴파일 속도도 빠름.

 

 

마무리

최근에는 비주얼 스튜디오와 같은 똑똑한 컴파일러가 다 알아서 해주니 컴파일러에 대해 모르더라도 코드짜는데에는 문제가 없었지만 각각의 컴파일러의 장단점을 살펴보고 알아보니 그에 맞는 코드를 짤수 있다는 생각이 들었습니다.

 

부족한 글을 여기까지 읽어주셔서 감사합니다.

반응형

'프로그래밍 > ETC' 카테고리의 다른 글

라이브러리 [ Library ]  (0) 2022.12.29
파일 분할  (0) 2022.12.28
빌드 과정 [Build Process]  (0) 2022.12.28
    '프로그래밍/ETC' 카테고리의 다른 글
    • 라이브러리 [ Library ]
    • 파일 분할
    • 빌드 과정 [Build Process]
    데굴데굴이
    데굴데굴이

    티스토리툴바