Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

Recommended Posts

에 포스트됨

원문 정보 (최종 번역일: 2026년 9월 15일):

05_EMBT_Coming-in-RAD-Studio-13.2-A-Bett

우리가 진행하고 있는 작업들 중 Clang 기반 C++Builder Win64x 컴파일러와 프로젝트 시스템에 대한 것들을 미리 보기

기능 미리보기: 이 블로그 글의 기반은 RAD Studio 소프트웨어의 사전 릴리스 버전이다. 엠바카데로의 특별 허가를 받아 작성되었다. 제품이 정식 출시(GA)되기 전까지는, 어떤 기능도 확정된 것이 아니다.

몇 년 전에 비해, 현대 C++은 훨씬 더 많은 것을 가지고 있다. 그것의 발전 속도도 훨씬 더 빨라졌다. 현재 우리는 C++23을 지원한다. 승인된 표준 중 최신 버전이다. 하지만 우리는 이 언어 표준을 넘어, 포괄적인 계층을 제공한다. 소프트웨어 개발을 훨씬 더 빠르게 만들어주는 계층이다. 이것이 13.2에서 우리 작업의 초점이었다.

목차

패키지 향상

우리 팀은 Win64x에서의 패키지 지원을 크게 향상시켰다. 여기에 포함되는 것들은 디자인 타임 64비트 패키지, Delphi 유닛을 담은 패키지, Delphi와 C++가 혼합된 패키지 사용하기, 도구체인에서 사용하는 패키지 디버그 정보 파일 만들어내기 등이다. 이 변경 사항들은, 컴포넌트 제공사들 그리고 이미 런타임 패키지를 중심으로 구성되어있는 애플리케이션들에게 중요하다. 또한 IDE에서 더 높은 성능과 안정성도 제공한다.

64비트 IDE에서의 컴파일

현재 버전의 Clang 기반 C++Builder Win64x 컴파일러는, 컴파일할 때마다 별도의 실행 파일로 동작한다. 우리는 프로세스 안에서 동작하는 즉, 인프로세스(in-process) 컴파일러를 추가하고 있다. 즉, DLL을 통해 노출되도록 하는 방식이다. 그러면 IDE가 컴파일러를 계속 로드된 상태로 유지할 수 있다. 그 상태에서 서로 직접 통신할 수 있다.

프로젝트 빌드 중 현재 파일, 현재 줄, 전체 줄 수 등이 표시되는 모습

C++ Builder 13.2의 빌드 화면

이것은 중요한 아키텍처 변경이다. IDE에서 눈에 보이는 효과도 가져온다. 컴파일러는 정확한 파일과 줄 진행 상황을 보고할 수 있다. 구조화된 진단 정보를 Messages 뷰로 보낼 수 있다. 취소 요청에 더 신속하게 응답할 수 있으며, 외부 프로세스를 반복적으로 시작하는 데 드는 몇몇 오버헤드들도 피할 수 있다.

진단 정보와 취소

이제 컴파일러 오류와 경고는 구조화된 진단 정보로 전달된다. IDE가 나중에 따로 해석해야 하는 콘솔 텍스트 줄이 더 이상 아니다. 그 덕분에 Messages 뷰는 올바른 파일과 줄로 신뢰성 있게 이동할 수 있다. 또한 빌드가 진행되는 동안 더 좋은 정보를 IDE에게 제공한다.

취소는, 우리가 다시 작업한 또 다른 영역이다. 큰 빌드를 중지하면, 그 요청은 활성화된 컴파일러 작업에 직접 전달된다. 그래서, 남은 작업이 종료되는 동안에도 IDE는 계속 반응한다. 겉보기에는 사소해 보일 수 있다. 하지만 큰 의미가 있다. 특히, 잘못된 구성으로 빌드를 시작했을 때, 또는 첫 번째 오류로 인해 남은 작업이 불필요해졌을 때 더욱 그렇다.

더 적은 재빌드 그리고 기타 변경 사항

우리는, Project Options를 변경했을 때 실제 필요보다 더 많은 부분이 프로젝트에서 재빌드되는 경우를 줄였다. 그 밖의 수정 사항들로는, 리소스와 DFM 경로, 아이콘 리소스, 잘못된 순환 프로퍼티 정의 등이 있다. 개별적으로 보면, 이것들은 '프로젝트 시스템'의 세부 사항이다. 그런데 함께 합쳐지면, 일반적인 편집-빌드-디버그 세션에서 여러 가지 방해 요소들을 없애준다.

디버거

엄밀히 말해 C++에 국한된 이야기는 아니다. 13.2는 디버거에도 상당한 향상을 가져온다. 우리는 심벌 로딩 성능, 대규모 솔루션을 다루는 디버거 능력 등을 향상시켰다. 이는 업데이트된 C++ 패키지 관리와 함께 특히 잘 동작한다.

디버거 화면: 중단점 하나가 히트되고, 로컬 변수가 표시된 모습

C++ Builder 13.2의 디버거 화면

맺음말

RAD Studio 13.2는, 일상적인 C++Builder Win64x 개발 경험에 대한, 집중적이고 실용적인 투자가 있었음을 잘 보여준다. 인프로세스 컴파일러로의 전환, 구조화된 진단 정보, 더 신속하게 반응하는 취소, 더 똑똑해진 재빌드 감지, 이 모든 것은 같은 목표를 향한다. 그 목표는 코드를 작성하는 것과 그것이 실행되는 것을 보는 것 사이의 방해 요소들을 줄이는 것이다.

패키지 개선 사항은, 컴포넌트 제공사들 그리고 더 큰 애플리케이션들이 Win64x 도구체인을 완전히 받아들일 수 있도록 문을 열어준다. 한편 디버거 성능 향상은, 프로젝트가 커지더라도 계속 관리 가능한 수준으로 복잡한 솔루션을 탐색하는 일을 유지할 수 있도록 한다.

종합해 보면, 이 변경 사항들은 단순히 C++ 표준을 따라가는 것을 넘어선 우리의 다짐을 보여준다. 그 다짐은 빌드-디버그 전체 주기를 더 빠르고, 더 예측 가능하고, 더 투명하게 만들겠다는 것이다. 13.2가 정식 출시(GA)되면, 여러분의 피드백을 듣고 싶다.

기능 미리보기: 이 블로그 글의 기반은 RAD Studio 소프트웨어의 사전 릴리스 버전이다. 엠바카데로의 특별 허가를 받아 작성되었다. 제품이 정식 출시(GA)되기 전까지는, 어떤 기능도 확정된 것이 아니다.

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.