티스토리 뷰

대략 아래와 같은 내용입니다.

ㅠ 정말 죄송한것은 이것을 어디에서 가지고 왔는데, 출처가 사라져 버렸습니다.


전처리 (pre-processing)

컴파일 단계 이전에 #include나, #define 과같은 매크로를 먼저 바꾸어주는 작업. 이는 숫자를 문자로 기억하게 해주기 때문에 코드의 가독성을 높이며, 코드 재 사용성을 높여준다.

  

컴파일(Compile)

고급언어(C,C++,JAVA)로 작성된 소스코드를 기계어로 번역하는 것을 말함.

컴파일이 끝나면 목적파일(.o 오브젝트파일)이 생성됨.

목적파일은 각 pc의 cpu/os에 맞도록 생성된 기계어 코드이며

이를 실행파일로 만드려면 링킹작업이 필요하다.


링킹(Linking)

컴파일 된 목적파일(.o)이 실행되기 위해서는 라이브러리나 다른 목적파일을 연결(link)해야 최종 실행파일인, exe나 dll파일이 만들어지게 된다.


빌드(Build)

컴파일과 링킹과정을 합친 단어.


증분 빌드(Incremental Build)

규모가 큰 프로젝트를 빌드하는 경우, 이전에 빌드된, 아직까지 최신 상태인 구성 요소는 다시 빌드하지 않는 것이 중요하다. 왜냐하면 매번 모든 대상을 빌드하려면 너무나 오랜 시간이 걸리기 때문이다. 

따라서 증분 빌드가 필요하며, (추가적인 지식) 이를 활성화 하기 위해서는 입력과 출력의 1:1매핑이 필요하며, MS Build Engine에서 입력 파일의 타임 스탬프와 출력파일의 타임 스탬프와의 비교 작업을 통해 빌드 여부를 결정한다. 만약 독립적인 코드로 변경 사항이 없다면 이를 다시 빌드하지 않는다.


.dll, (리눅스에서는 .so(Shared Object)) : 동적라이브러리

(Dynamic-Link Library) : 마이크로소프트 윈도우에서 구현된 동적 라이브러리. 여러 프로그램이 공통으로 필요로 하는 기능을 프로그램과는 분리하여 필요할 때만 불러 쓸 수 있도록 만들어 놓은 라이브러리이다. 즉, 프로그램 수행 도중 해당 모듈이 필요할 때 불러 쓰는 프로그램 모듈이다. 내부에 다른 프로그램이 불러서 쓸 수 있는 다양한 함수를 내장함. 확장된 DLL인 경우, 클래스를 가지고 있기도 한다.


.lib, (리눅스에서는 .a) : 정적라이브러리

컴파일러가 소스 컴파일을 할 때 참조되는 프로그램 모듈. 루틴 외부 함수와 변수들의 집합으로, 컴파일러, 링커 등등에 의해 목표 된 애플리케이션으로 복사 되어 목적 파일과 독립적으로 실행할 수 있는 실행 파일을 생성하는데 사용됨. 즉, 오브젝트 파일로 실행 파일 만드는데 쓰임.

'IT' 카테고리의 다른 글

칼만 필터  (0) 2018.01.08
MVC, MVP, MVVM  (0) 2017.10.12
아스키 코드표  (0) 2015.11.13
IMEI  (0) 2015.03.26
Radian, Degree  (0) 2015.03.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함