[c++] 네임스페이스와 빌드 시스템

C++ 프로그래밍에서 네임스페이스(namespace)는 코드의 모듈화와 이름 충돌을 방지하기 위해 사용됩니다. 또한, CMake와 같은 빌드 시스템은 다양한 소스 파일을 컴파일하고 링크하여 실행 파일을 생성하는 데 도움이 됩니다.

네임스페이스 (namespace)

C++에서 네임스페이스는 전역 공간으로부터 식별자를 격리하고 이름 충돌을 방지하는 데 사용됩니다. 예를 들어, 두 개의 라이브러리가 동일한 이름의 함수를 가지고 있을 때, 네임스페이스를 사용하여 이를 해결할 수 있습니다.

namespace mylib {
    void myFunction() {
        // 코드 내용
    }
}

위의 예제에서 mylib 네임스페이스에 myFunction 함수가 정의되어 있습니다.

빌드 시스템

C++ 프로젝트에서 빌드 시스템은 프로젝트의 빌드를 자동화하는 도구입니다. CMake는 C++ 프로젝트를 위한 인기 있는 빌드 시스템 중 하나이며, 각 소스 파일을 컴파일하고 객체 파일을 생성한 다음 이를 링크하여 실행 파일을 생성합니다.

cmake_minimum_required(VERSION 3.10)

project(MyProject)

add_executable(myApp main.cpp otherfile.cpp)

target_link_libraries(myApp mylib)

위의 예제에서 add_executable 명령은 main.cppotherfile.cpp를 컴파일하고 링크하여 myApp이라는 실행 파일을 생성합니다. 또한, target_link_libraries 명령은 myAppmylib를 링크합니다.

빌드 시스템은 코드의 빌드 과정을 자동화하고, 복잡성을 줄이기 위한 도구로 사용됩니다.

C++의 네임스페이스와 빌드 시스템은 모두 코드의 모듈화와 구조화를 도와주는 중요한 요소입니다.

참고 자료