Updated:

less than 1 minute read

과정

  • Preprocessing
    • #include 와 #define 와 같은 전처리기 매크로들을 처리
  • Compile
    • 소스 파일들을 어셈블리 코드로 변환
  • Assemble
    • 어셈블리 코드들을 기계어로 이루어진 목적 코드로 변환
  • Linking
    • 목적 코드들을 하나의 실행 파일로 변환


gcc 옵션


특정 타켓만 인스톨 수행

  • cmake --build ./AAA --target install


parallel build

  • 컴파일 옵션
    • jx (x는 숫자)
    • ex
      • make -j5


dependencies

  • makefile
    • .NOTPARALLEL 추가
    • ex
      • .NOTPARALLEL: clean
  • cmake
    • add_dependencies 추가
    • ex
      • add_dependencies (${BUILD_TARGET} lib::common)