C++ 실행 프로그램 만들기
1. C++ 소스 파일을 작성한다
어떤 실행 파일을 만들고자 한다면, 가장 먼저 실행하려는 프로그램의 소스코드를 작성해야 할 것이다. C++ 소스 파일의 경우 ".cpp"의 확장자를 가진다.
i.e. 파일 이름: hello.cpp
소스 코드 :
#include <iostream>
int main() {
std::cout "Hello" << endl();
return 0;
}
2. 컴파일 (compile)
C++ 소스 프로그램 ㅈ박성이 완료되었으면, C++ 컴파일러를 이용하여 C++ 소스 프로그램을 컴파일한다. C++ 컴파일러는 C++ 소스 프로그램이 문법에 맞게 작성되었는지 검사를 하고, 기계어 코드로 변환하여 목적 파일(object file)을 생성한다. 참고로, 목적 파일의 확장자는 유닉스 환경에서는 ".o"이고 윈도우 환경에서는 "obj"이다.
3. 링킹 (linking)
컴파일 후 기계어로 구성된 목적 파일이 생성되었다 하더라도 목적 파일은 바로 실행될 수 없다. 개발자가 작성한 C++ 프로그램이 표준 C++ 라이브리나 다른 C++ 프로그램에 있는 함수, 객체, 데이터를 이용하는 경우, 개발자가 작성한 C++ 소스의 목적 파일에는 이들에 대한 참조 표시만 있을 뿐, 이들 코드를 포함하지 않는다.
따라서, 이러한 코드들을 해당 목적 파일에 포함시켜줘야 한다. 프로그래머가 소스 코드 내에 사용한 라이브러리나 이미 작성된 다른 목적 파일들 내의 코드들을 포함하여 실행 가능한 파일을 만드는 과정을 링킹이라고 한다.
일반적으로 개발자가 작성한 C++ 소스와 이 소스에서 필요한 모든 라이브러리는 링킹 단계에서 완전히 결합되어 하나의 온전한 실행 파일이 만들어지며, 실행 시 이 실행 파일 외에 다른 코드는 필요 없다. 하지만, 링킹 단계에서 결합하지 않고, 실행 중 필요한 순간에 결합하도록 만들어진 라이브러리가 있다. 이러한 라이브러리들을 동적 링킹 라이브러리 (Dynamic Linking Library 또는 DLL) 라고 한다. DLL은 실행 파일의 크기를 줄이는 역할과 함께 여러 응용 프로그램이 실행 중에 공유하는 특징이 있다.
'C++ > C++ 기본' 카테고리의 다른 글
#include <iostream> (0) | 2018.06.29 |
---|---|
main 함수 (0) | 2018.06.29 |
주석문 (0) | 2018.06.29 |
C++ 언어의 아킬레스건 (0) | 2018.06.29 |
C++ 언어의 특징 (0) | 2018.06.29 |