[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.cpp
와 otherfile.cpp
를 컴파일하고 링크하여 myApp
이라는 실행 파일을 생성합니다. 또한, target_link_libraries
명령은 myApp
과 mylib
를 링크합니다.
빌드 시스템은 코드의 빌드 과정을 자동화하고, 복잡성을 줄이기 위한 도구로 사용됩니다.
C++의 네임스페이스와 빌드 시스템은 모두 코드의 모듈화와 구조화를 도와주는 중요한 요소입니다.