본문 바로가기

프로그램 언어

(3)
[CMake] CMake 간단한 설명 + 예제 CMake CMake란 여러 환경(window , linux 등)에 맞는 build process를 작성한 것으로, CMakeLists.txt에 기술된 내용을 바탕으로 각 확경에 맞는 Makefile을 생성해 주는 빌드 프로그램이다. CMake를 통해 Makefile을 만들게 되면, 추가적인 파일이 추가되지 않는 한 Makefile을 수정하지 않고, 자동으로 생성해준다는 장점이 있지만, 단순히 Makefile을 생성해 주는 것이기 때문에 Make를 추가로 해야한다. 이 포스트는 linux 기준으로 설명한다. Install linux에 CMake가 없을 경우 다음과 같이 설치할 수 있다. sudo apt install cmake CMakeLists.txt 앞에서 말했듯이 CMake는 CMakeLists.t..
[ C / C++ ] make , Makefile make 기존 gcc / g++를 이용해서 프로그램을 빌드할 때, 빌드를 할 때마다 SHELL(터미널 창)에 명령어를 입력하기 힘들어서 Makefile에 이렇게 빌드를 하면 된다.라고 명시해 놓음으로써 빌드하기 간편하게 만들어 준다. Makefile Makefile이란 make가 현재 경로에서 참고하여 실행하는 파일으로, 어떻게 빌드할지 적혀있는 파일이다. 파일 이름은 무조건 Makefile로 통일되어야 한다. make와 Makefile을 사용하기 전 기존 gcc / g++로 했던 방식을 간단하게 살펴보자 일단 파일 구조가 다음과 같고 , 각각의 코드가 다음과 같을 때, 파일 구조 src |- main.cpp |- function1.cpp |- function2.cpp |- my_header.h my_h..
[ C / C ++ ] 프로그램하기전 지식 우리가 일반적으로 '코딩한다' 라고 하는 것은 .c , .cpp 등 소스 코드를 작성 하는 것이다. 하지만 이 소스 코드들은 컴퓨터가 바로 실행하지 못한다. *인터프리터 언어, 즉 스크립트(ex. python)의 경우에는 바로 실행이 가능하다. 컴퓨터가 우리가 작성한 소스 코드를 실행하기 위해선 기계가 알아들을 수 있는 기계어로 번역하는 과정이 필요한데 이걸 빌드(build)라고 하고 이 역할을 해주는 프로그램을 빌더(builder)라고 한다. 빌드에는 2가지 단계가 존재한다. 소스코드를 기계가 알아들을 수 있는 수준으로 번역하고 object file( .o 확장자 )을 생성하는 컴파일(compile) , 분리된 object file을 모아서 하나의 실행파일을 만드는 링크(link)가 있다. 여기서 컴파..