본문 바로가기

소프트웨어 빌드 시스템

(4)
소프트웨어 빌드 시스템 원리와 활용 요약 (3) - 3. 프로그램 런타임 뷰 3. 프로그램의 런타임 뷰 - 이번 챕터에서는 타겟 머신에서 프로그램이 실행되는 구조와 프로그램의 어떤 파일들이 메모리에 올라가는지 설명한다. - 실행 프로그램: CPU에서 실행되는 명령 집합과 데이터값, 메모리에 로드되어 실행되는 코드 전체가 컴파일된 프로그램 - 라이브러리: 여러 프로그램에서 공통으로 사용되는 오브젝트 코드의 집합. 라이브러리 단독적으로 메모리에 로드될 수 없으며, 반드시 실행프로그램과 링크된 후 로드되어 사용된다. - 설정 파일과 데이터 파일: 명령으로 이루어지지 않은, 데이터와 설정 정보. 프로그램이 디스크에서 로드하여 사용 3.1 실행 프로그램 - 우리가 보통 프로그램을 작성하면 최종 산출물로써 생각하는 프로그램. - 네이티브 기계어 코드: C/C++로 만들어낸 머신코드로 이루어..
소프트웨어 빌드 시스템 원리와 활용 요약 (2) - 2. Make 기반 빌드 시스템 2. Make 기반 빌드 시스템 - GNU Make의 예시와 작동 방식을 보여주는 챕터이다. - 책에서는 c 파일로 예제를 진행하는데, 나는 c++로 수정하여 작성하였다. 코드와 Makefile은 https://github.com/lss0815/software_build_system_review/tree/main/chap2를 참고하면 된다. 2.1 계산기 프로그램 예제 - add.c, calc.c, muilt.c, numbers.h, sub.c의 소스코드가 있을 때, calculator라는 타겟파일을 생성할 것이다. $ g++ -g -c add.cpp $ g++ -g -c calc.cpp $ g++ -g -c mult.cpp $ g++ -g -c sub.cpp $ g++ -g -o calculator a..
소프트웨어 빌드 시스템 원리와 활용 요약 (1) - 0. 서론, 1. 빌드 시스템 개요 0. 서론 빌드 시스템 개선의 필요성 - 20인 이하의 개발 조직에서 빌드에 인한 평균 생산성 저하량 10% 책에서 다루는 내용 - 빌드 시스템 원리 이해 - 빌드 시스템 경험 공유 1. 빌드 시스템 개요 1.1 빌드 시스템이란? 특정 유형의 데이터(입력물)를 다른 유형의 데이터(출력물)로 변환하는 과정에 포함된 활동을 관리하는 시스템 - 컴파일형 언어 버전 관리 도구 -> 소스 트리 -> 오브젝트 트리 -> 릴리즈 패키지 1.2 빌드 시스템의 구성 요소 - 버전 관리 도구 git이 대표적인 툴, 소스 파일 협업, 수정 이력 관리 - 소스 트리와 오브젝트 트리 디렉토리에 저장된 구조를 말함 - 컴파일 도구와 빌드 도구 C 컴파일러: C 언어 소스 파일을 기계어 코드로 변환하여 오브젝트 파일 생성 링커(L..
소프트웨어 빌드 시스템 원리와 활용 요약 (0) 언젠가부터 회사 프로그램들 빌드 속도가 느려진 것 같아서 최적화 방법을 찾아보다가 책을 한 번 구매해봤다. 알라딘 중고서점에서 나름 저렴하게 책을 살 수 있었는데, 책 상태는 괜찮아 보인다. 책 정보는 링크에서 찾아볼 수 있고, 빌드 시스템에 대해 설명하는 책이다. 내가 업무에서 사용하고 있는 툴을 다루기도 하고 번역본으로 쉽게쉽게 읽어보며 정리해볼 것이다.