Kori 8월 13일에 포스트됨 8월 13일에 포스트됨 원문 정보 (최종 번역일: 2026년 8월 13일): 제목: C++ Builder 13 CE: What's New and Why It Matters 작성자: Maksim Menshikov - 2026년 8월 링크: https://blogs.embarcadero.com/c-builder-13-ce-whats-new-and-why-it-matters/ C++Builder(C++빌더) 커뮤니티 에디션이 버전 13으로 업데이트되었다. 커뮤니티 사용 자격이 있는 사용자는 이번 업데이트로 최신 Win64 도구체인(toolchain)에 무료로 액세스할 수 있게 되었다. 이 에디션은 커뮤니티 에디션 라이선스 요건을 충족하는 학생, 취미 개발자, 프리랜서, 소규모 팀을 위해 나왔다. 전체 자격 요건과 사용 조건은 라이선스 계약서를 참고하면 된다. 목차 Clang 20을 기반으로 C++23 지원 LLDB 20: 디버거 업데이트 CMake와 서드파티 라이브러리들 기술 업데이트 FireMonkey(파이어몽키) 향상들 Windows용 VCL 향상들 64비트 IDE 알려진 문제 C++Builder 커뮤니티 에디션은 누가 사용할 수 있는가? 다음 단계 Clang 20을 기반으로 RAD Studio(라드 스튜디오) CE는 Win64 Modern 컴파일러(bcc64x)를 Clang 15에서 Clang 20으로 업그레이드한다. 이로써 LLVM 본류와 격차가 크게 좁혀진다. 엠바카데로(Embarcadero)의 VCL/FMX 통합과 플랫폼별 패치는 이제 더 폭넓은 C++ 생태계가 테스트 기준으로 삼고 있는 버전에 훨씬 더 가까운 컴파일러 위에 올라간다. 이는 최신 정식 Clang을 전제로 하는 서드파티 라이브러리를 빌드하려 할 때 중요한 의미를 가진다. Clang 본류 릴리스는 15와 20 사이에 다섯 개가 존재한다. 그로 인한 누적 효과는 진단 기능에서 뚜렷하게 드러난다. 오류 메시지가 더 정확해졌고, 템플릿 인스턴스화 추적이 더 읽기 쉬워졌으며, 기본적으로 더 넓은 범위의 경고들이 만들어 진다. 전반적으로 이 새로운 Windows 64비트 도구체인(toolchain)은 오픈소스 개발을 더 쉽고, 더 예측 가능하고, 분야 전반에 걸쳐 더 통일되게 만들어 준다. C++23 지원 C++Builder 13의 새 Win64 Modern 프로젝트는 기본적으로 C++23을 사용한다. 프로젝트 설정에서 C++17이나 C++20으로 바꿀 수도 있다. Clang 20은 C++23 언어 기능을 상당 부분 지원한다. 그 중에서도 실무에 가장 큰 영향을 미치는 기능들을 소개한다. Deducing this(P0847)를 사용하면 const 접근과 non-const 접근, 그리고 lvalue와 rvalue 한정 모두에 동작하는 멤버 함수를 하나만 작성하면 된다. struct Buffer { template <typename Self> auto& data(this Self&& self) { return self.m_data; } }; CRTP 계층 구조들은 이전에 static_cast<Derived&>(*this)가 필요했다. 그런데 이제는 같은 내용을 직접 표현할 수 있다. 재귀 람다 작성도 한결 자연스러워졌다. [[assume(expr)]]는 최적화기에 이식 가능한 방법을 제공해 전제조건을 선언할 수 있도록 한다. void process(int* p, int n) { [[assume(n > 0)]]; [[assume(p != nullptr)]]; // ... } __builtin_assume과 달리, 이는 C++23 표준이다. 그리고 이 규격을 준수하는 컴파일러들 사이에서 이식 가능하다. Lifetime extension in range-for(P2718)는 오랫동안 존재해 온 미정의 동작(UB) 함정을 해결한다. C++23 이전에는 getWidget()이 임시 객체를 반환할 경우 다음 코드는 UB였다. for (auto& item : getWidget().items()) { ... } 이 임시 객체는 루프 본문이 실행되기 전에 소멸되었다. C++23은 range 초기화 식에서 생성된 임시 객체의 수명이 루프 전체를 포괄하도록 연장한다. 그 결과, 조용히 깨지던 코드가 이제는 정의된 동작을 갖게 되었다. static operator()(P1169)와 static operator[](P2589) 덕분에, 상태가 없는 함수 객체와 인덱스 연산자는 더 이상 암시적 this 파라미터가 필요 없다. 그래서 컴파일러는 의미 없는 포인터 인자(argument)를 아예 건너뛸 수 있다. if consteval(P1938)은 if constexpr(std::is_constant_evaluated())라는 우회 방법이 없어도, 컴파일 타임 경로와 런타임 경로를 깔끔하게 분기하는 방법을 제공한다. LLDB 20: 디버거 업데이트 RAD Studio(라드 스튜디오) 13은 디버거 백엔드를 LLDB 20으로 옮겼다. LLDB 20 본류의 릴리스 노트에는 공유 라이브러리 병렬 파싱이 문서화되어 있다. 이는 대규모 프로젝트들에서 attach와 실행 시간을 크게 줄여 준다. 또한 인라인된 호출 지점에서의 브레이크포인트 배치도 수정되었다. 이전 버전에서는 브레이크포인트가 이런 지점에서 조용히 다음 실제 명령어로 옮겨지곤 했다. CMake와 서드파티 라이브러리들 GetIt(겟잇)을 통한 CMake 지원은 C++Builder 12.2에서 도입되었다. 몇 가지 향상들이 13에서도 이어진다. 구성 요소는 다음과 같다. 패치된 CMake 빌드: bcc64x용 도구체인(toolchain) 파일 포함 빌드 실행기로 사용되는 Ninja 함수 스타일 API: set_embt_target(<target> ...) 형태로, 하나의 프로젝트에서 여러 CMake 타겟을 지원 여기에서 Clang 20 업그레이드의 실질적인 효과를 바로 가장 직접적으로 느낄 수 있다. 이전에는 C++Builder에서 컴파일하려면 패치가 필요했던 여러 서드파티 라이브러리들이, 이제는 수정 없이 그대로 동작한다. 동작이 확인된 라이브러리는 다음과 같다. OpenCV Google Test VTK 그 밖에도 다수의 라이브러리들이 동작하는 것을 확인했다. 기술 업데이트 새로운 커뮤니티 에디션에는 여러분이 좋아하는 그 VCL과 FMX가 그대로 담겨 있다. 여기에 RAD Studio(라드 스튜디오) 13의 모든 새 기능도 함께 포함되어 있다. 자세한 내용은 RAD Studio 릴리스 노트를 참고하면 된다. FireMonkey(파이어몽키) 향상들 FireMonkey(파이어몽키)는 C++Builder 개발자가 사용할 수 있는 두 가지 애플리케이션 프레임워크 중 하나다. C++Builder 12.1 이후 도입된 업데이트는 다음과 같다. 애니메이션 타이밍과 화면 안정성 향상: 새로운 Display Link 서비스를 통해 이루어짐 터치 제스처·스크롤 동작·바운스 효과 제어 범위 확대 그래픽 성능 향상: GPU 지원 비트맵 전송을 통해 새로 TApplicationEvents, TMaskEdit 컴포넌트가 추가되어 있다 정밀한 컨트롤 중앙 정렬: 추가된 정렬 모드들 내장 맞춤법 검사 기능 강화 Skia4Delphi와의 통합이 새롭게 향상되어 있다 수많은 성능 최적화와 품질 향상 Windows용 VCL 향상들 C++Builder 13은 네이티브 Windows 개발을 위한 VCL 개발에 다음과 같은 추가 업데이트를 제공한다. TActionMainMenuBar 내에서 스크롤이 지원된다 커스텀 폼 제목 표시줄 스타일링 유연성 향상 WebView2 런타임 통합 최신화: TEdgeBrowser용 TControlList, TFormTabsBar, TToggleSwitch 전반에서 사용성과 화면이 향상되었다 64비트 IDE C++Builder IDE는 이제 네이티브 64비트 애플리케이션이다. 이제 더 많은 메모리를 사용할 수 있다. 대규모 프로젝트들과 복잡한 개발 환경에서 작업할 때의 안정성도 향상되었다. 알려진 문제 C++Builder 13 커뮤니티 에디션에서 프랑스어 언어 팩 설치에 영향을 미치는 문제가 발견되었다. 이 문제가 해결되기 전까지는 프랑스어 언어 지원을 선택하거나 설치하지 않기를 바란다. 설치가 실패할 수 있기 때문이다. 현재 수정 작업을 진행하고 있다. C++Builder 커뮤니티 에디션은 누가 사용할 수 있는가? C++Builder 커뮤니티 에디션은 다음과 같은 사용자를 위해 설계되었다. C++와 네이티브 애플리케이션 개발을 배우는 학생 개인용 또는 비상업용 애플리케이션을 만드는 취미 개발자 애플리케이션으로 연간 미화 5,000달러 미만을 버는 프리랜서 및 독립 개발자 연간 매출이 미화 5,000달러 미만이고 개발팀 인원이 5명 이하인 스타트업 및 조직 C++Builder 커뮤니티 에디션은 1년 기한 라이선스로 무료로 제공된다. 제한적인 상업적 사용도 허용한다. 자격 요건이 확실하지 않은 개발자는 커뮤니티 에디션 라이선스 FAQ를 참고하면 된다. Community Edition은 평가판을 대신 해 장기간 사용하는 용도로 만들어진 것이 아니다. 따라서 이미 정식 상업용 라이선스를 보유한 조직이라면 사용해서는 안 된다. 프로젝트나 팀, 비즈니스가 커뮤니티 에디션의 사용 자격 한계를 넘어 성장하면, 제약 없는 상업용 라이선스 즉, C++Builder 프로페셔널, 엔터프라이즈, 아키텍트 에디션을 사용하면 된다. 이 상업용 에디션들은 Community 에디션에는 없는 추가 기능들도 제공한다. 다음 단계 C++Builder 13 CE는 커뮤니티 에디션 사용자에게 플로렌스(Florence)의 도구체인(toolchain)들을 제공한다. 사용 자격을 갖춘 개발자는 상업용 릴리스에 도입된 것과 동일한 모던 C++ 기반을 사용할 수 있게 된다. 우리가 기다리고 있는, RAD Studio(라드 스튜디오) 13.2 유료 에디션들에서는 C++ 생산성을 계속 발전될 예정이다. 업무 시간 전반에 걸쳐 체감할 수 있는 편의성 향상도 함께 담길 것이다. 출시가 가까워지면 더 자세한 소식을 전하겠다. 인용하기
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.