일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 언리얼엔진 함수
- 동적 모델링
- 마스터 슬레이브 패턴
- 알고리즘 문제
- 정보처리기사 실기
- 메타 데이터
- baekjoon
- UML 다이어그램
- DBMS
- 정처기
- 정보처리기사
- 파이프 필터 패턴
- 데이터 입출력
- UnrealEngine5
- 브로커 패턴
- 언리얼엔진5
- Unreal Engint4
- 백준
- 아키텍처 패턴
- 정보 은닉
- 팬아웃
- UML
- 요구사항 확인
- 기능 모델링
- 데이터베이스
- 요구사항 분석
- 클라이언트 서버 패턴
- UnrealEngine
- 단계적 분해
- C++
- Today
- Total
게임 개발자를 향해
통합 개발 환경(IDE)과 컴파일의 개념 본문
1. 통합 개발 환경 (Integrated Development Environment ;IDE)
통합 개발 환경 즉 IDE란, 컴파일, 디버그, 코딩 등 개발자가 프로그램을 만드는데 필요한 작업을 한곳에서 할 수 있게 해주는 고마운 소프트웨어 입니다.
제가 사용해본 IDE는 VisualStudio, VSCode, Eclips등이 있고, C/C++로 간단한 코드를 짜기 좋은 DevC++ 등이 있습니다. 이 이외에도 수많은 컴파일러가 존재합니다.
VisualStudio
VisualStudio는 제가 가장 많이 사용한 IDE 입니다. MS에서 만들었기 때문에 윈도우에서만 사용이 가능하고, 여러 언어들과 언어에 최적화된 기능들이 지원되기 때문에 많이 사용되는 컴파일러 입니다. 많은 기능을 지원하기 때문에 무겁다는 느낌을 받았습니다.
VSCode
VSCode는 VS와 마찬가지로 Windows에서 사용이 가능하고, VSCode는 좀 더 개발자가 직접 원하는 언어의 환경을 구성해야하고, 환경을 꾸밀 수도 있어서 VisualStudio에 비해 자유도가 높고 가벼운 편입니다. 하지만 언어에 맞는 환경을 만들기 위해 몇가지 환경구성을 해 줄 필요가 있습니다.
Eclips
Eclips는 JAVA로 만들어졌으며, 대학에서 Java를 배울 때 한번 사용해 봤었습니다. 많이 다루어 보지 않아서 잘 모르겠지만 JAVA를 사용하면 보통 Eclips를 사용하는 것 같습니다.
DevC++
DevC++은 대학에서 C를 배울 때 많이 사용했습니다. VS에서 컴파일 환경이 살짝 달라서 입력과 출력을 할 때 조금 다른 방식으로 했던 걸로 기억합니다. VisualStudio에 비해 매우 가벼운 느낌이고 빠릅니다. 하지만 비교적 기능이 VS보다 부족하기 때문에 C를 사용하거나 간단히 코딩을 할 때 자주 사용했었습니다.
2. 컴파일 (Compile)
컴파일이란 .exe 파일을 만드는 것입니다. 컴파일은 IDE 환경에 코딩을 하고 링커를 사용하여 .exe 파일을 만들 수 있습니다.
컴파일 과정은 아래와 같습니다.
전처리기 -> 컴파일러 -> 어셈블러 -> 링커 -> .exe파일 제작
전처리기
전처리란 말 그대로 컴파일 전에 코드를 정리해주는 과정입니다. 코드에 주석을 제거하고 참조하는 헤더파일의 실제 코드를 불러오는 등의 #과 같은 전처리문을 처리하는 기능을 담당합니다. ('#'이 붙으면 웬만하면 전처리문이다.)
컴파일러
전처리 후의 코드를 컴파일러가 받습니다. 컴파일러는 고급언어로 코딩된 해당 코드를 저급언어인 어셈블리어로 바꿔줍니다.
어셈블러
어셈블러는 컴파일러에게 받은 어셈블리어를 오브젝트 코드로 바꾸게 됩니다. ('010101110' 과 같은 기계어)
링커
마지막으로 링커가 어셈블러가 만든 오브젝트 코드로 실행파일 즉 .exe 파일을 만들게 됩니다.
'프로그래밍 > C++' 카테고리의 다른 글
프로그램의 개념 및 실행되는 과정 (0) | 2023.04.04 |
---|