C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 FAQ
C++Builder Programming FAQ
[124] C++빌더 2007의 새로운 기능들
박지훈.임프 [cbuilder] 23641 읽음    2008-03-04 17:17

RAD Studio 2007 C++ 애플리케이션을 개발하는 있어 중요한 새로운 기능들을 제공합니다.

C++빌더 2007

다음과 같은 핵심 기능들이 새로 도입되거나 현저히 변경되었습니다.

*       새로운 MSBuild 빌드 엔진 도입: C++ 프로젝트를 빌드할 MSBuild 빌드 프로세스를 수행합니다. 프로젝트 파일의 구조도 XML 변경되었으며 MSBuild 필요한 옵션들을 포함합니다. 프로젝트 파일의 확장자는 .cbproj 바뀌었습니다. MSBuild 명령 문법을 이용하여 컴맨드라인에서 프로젝트를 빌드할 있습니다.

*       빌드 순서 변경: MSBuild 이전에 사용자가 순서를 지정할 있었던 것과는 달리 파일 타입(확장자) 따라 파일들을 빌드합니다. 새로운 빌드 순서는 델파이(.pas), C/C++ (.c/.cpp), 어셈블러 (.asm), 그리고 리소스 (.rc) 입니다. 폴더 혹은 가상 폴더 내에서 파일들은 각각의 파일 타입에 따른 순서로 빌드됩니다.

*       확장성 있는 빌드 설정: 빌드 설정(build configuration) 변경되었습니다. 빌드 설정은 Project | Options 여러 페이지에서 설정하는 옵션들을 포함합니다. 빌드 설정은 컴파일러/링커/MSBuild 등의 빌드 툴들을 위한 컴맨드라인 옵션들을 저장합니다. 여러분은 자신만의 설정을 만들 있으며, 가지 디폴트 설정이 있습니다.(Base, Debug, Release)

*       Build Configuration Manager에서 빌드 설정을 활성화:Project | Configuration Manager 선택하여 선택한 프로젝트() 대해 활성화할 빌드 설정을 선택할 있습니다. Configuration Manager C++ 프로젝트에 대해 활성 설정을 지정하는 기존의 방법을 대체합니다.

*       프로젝트 옵션 다이얼로그가 재구성되었습니다.Project | Options 다이얼로그에 새로운 페이지들이 추가되었으며 옵션들을 구성하기 위해 일부 기존의 페이지들이 이름이 바뀌었습니다. 옵션들도 추가되었는데, 예를 들어 -Vb 옵션은 표준에서 이상 지원되지 않는 C++ 구문을 지원합니다. Project Properties 페이지는 C++ 컴파일러가 라이브러리 패스를 관리할지, 패키지 임포트를 검증할지, 헤더 의존성을 보여줄지, 자동으로 의존성 체크를 할지 등을 설정할 있게 해줍니다.

*       프로젝트 옵션을 통합할 있습니다. 일부 프로젝트 옵션들은 Merge 체크 박스를 가지고 있습니다. 여기에 체크하면 IDE 현재의 빌드 설정의 직접 조상의 옵션 값들을 포함합니다. 현재 설정의 옵션들은 실제로 바뀌지 않습니다.

*       새로운 이름 지정 옵션 :Project | Options 다이얼로그의 빌드 관련 페이지들에서 이름을 가진 옵션 셋을 만들고 적용할 있습니다. 이름을 가진 옵션 셋은 .optset 확장자를 가진 파일로 저장됩니다.

*       빌드 이벤트를 지정할 있습니다. 빌드 과정의 특정 시점에 실행될 명령을 지정할 있습니다(pre-링크 이벤트는 새로 추가되었으며, pre-빌드 post-빌드 이벤트는 이전 버전에서 존재했습니다). 프로젝트 매니저에서 빌드 가능한 파일을 오른쪽 클릭한 Build Events 선택하십시오.

*       .targets 파일을 생성하고 프로젝트에 추가할 있습니다. .targets 파일은 MSBuild 스크립트를 포함할 있는 XML 파일입니다. 스크립트에는 실행할 작업 리스트와 같은 것들이 지정될 있습니다.

*       데모 코드의 위치가 변경되었습니다. 데모 코드는 이제 MyDocuments\RAD Studio\Demos 디렉토리에 있습니다. 데모 코드를 Program Files 디렉토리 외의 위치로 이동한 것은 마이크로소프트 비스타의 제한 때문입니다.

*       델파이로 C++ 패키지를 컴파일할 있습니다. C++빌더는 델파이 소스 파일을 포함하는 디자인타임 패키지의 컴파일을 지원합니다. 하지만 델파이 소스들 하나가 DesignIDE100.bpl 존재하는 DesignIntf, DesignEditors, ToolsAPI 같은 IDE에서 제공하는 디자인타임 유닛을 참조하면 C++빌더 패키지에서 해당 레퍼런스가 해석될 있다는 것을 확실히 하기 위한 절차가 필요합니다.

C++ 유닛 테스트

유닛 테스트 지원은 DUnit 테스트 프레임워크로 통합되어 있습니다. DUnit 프레임워크는 JUnit 테스트 프레임워크에 기반한 것으로, 많은 동일 기능들을 공유합니다.

테스트 프로젝트의 뼈대 템플릿과 setup teardown 메소드, 기본 테스트들을 빠르게 생성하기 위해 C++빌더 유닛 테스트 위저드를 사용할 있습니다. 그런 여러분의 특정 메소드를 테스트하기 위해 특정 테스트 로직을 추가하여 템플릿을 수정할 있습니다.

테스트를 실행하기 위해 콘솔 테스트 러너 혹은 DUnit GUI 테스트 러너를 실행할 있습니다. 콘솔 테스트 러너는 테스트 결과를 콘솔에 내놓습니다. DUnit GUI 테스트 러너는 성공 혹은 실패를 표시하는 컬러로 구분된 결과와 함께 테스트 결과를 GUI 윈도우에 인터랙티브하게 보여줍니다.

C++빌더 서비스 지원 강화

C++빌더 서비스 지원은 이제 다음과 같은 기능들을 포함합니다.

*       unbounded elements

*       optional elements

*       nullable elements

*       WSDL and schema that import external schemas

이런 개선으로 C++빌더 서비스 지원은 델파이의 최신 수준을 지원하여 여러분의 애플리케이션이 eBay, Amazon, MapPoint같은 견고한 서비스와 연동할 있게 해줍니다.

IDE

다음과 같은 핵심 기능들이 IDE 새로 도입되거나 현저히 변경되었습니다.

*       비스타 XP 테마: IDE 이제 윈도우 비스타 XP 테마를 지원합니다. 테마 지원은 기본적으로 켜져 있지만 IDE 각각의 애플리케이션에 대해 테마를 비활성시킬 있습니다.

*       중복된 파일 이름: 이제 프로젝트에서 같은 이름을 가진 여러 파일들을 포함할 있습니다. 예를 들면 프로젝트에 Common\source1.cpp Product\source1.cpp 모두 포함시킬 있습니다. 혼란이 일어나지 않도록 IDE 오브젝트 파일의 생성을 관리하며, 파일의 오브젝트 모두 프로젝트 빌드에 사용됩니다.

*       메모리 매니저 문서화: BDS 2006에서 포함된 메모리 매니저가 RAD Studio 2007 (C++빌더 2007) 릴리즈에서 완전히 문서화되었습니다. 헬프에는 다음과 같은 내용들이 포함되어 있습니다. 메모리 매니저의 설정, 메모리 매니저 모니터링, 메모리 매니저를 공유하기 위해 ShareMem SimpleShareMem 사용하기. 메모리 매니저 루틴들과 변수들은 문서의 VCL 아래에 리스트되어 있습니다.

*       프로젝트 매니저에서 복수 선택 가능:Project Manager에서 CTRL 키를 누르고 파일을 여러 선택하여 Open, Save, Save As, Remove from Project 등의 컨텍스트 메뉴 명령을 한꺼번에 실행할 있습니다.

*       파일 브라우저:View | File Browser 메뉴를 선택하여 File Browser 실행하여 기본적인 파일 명령이나 파일의 SVN 상태를 있습니다.

*       스트럭쳐 뷰의 툴바: C++에서만 사용 가능한 툴바로 알파벳 순으로 정렬, 타입별 그룹, 타입 보기, 비저빌리티 보기 등의 기능을 수행할 있습니다.

*       프로젝트 매니저의 버추얼 폴더: 트리의 아이템들 사이에 가상의 관계를 만들 있습니다. 버추얼 폴더를 만들어 빌드 순서를 조정할 있습니다.

디버거

다음과 같은 핵심 기능들이 새로 도입되거나 현저히 변경되었습니다.

*       이벤트 로그의 스크롤 방지:Tools | Options | Debugger Options | Event Log 페이지에 이벤트 로그의 스크롤을 막는 옵션이 생겼습니다.

*       CPU 윈도우: 이제 Disassembly, CPU Stack, Registers 영역 CPU 윈도우의 각각의 영역을 있습니다. 이런 CPU 윈도우의 단일 영역은 도킹이 가능하므로 영역을 드래그해서 여러분이 원하는 IDE 어디에든 도킹할 있습니다. 또한 CPU 윈도우는 디버그 세션을 끝내면 자동으로 닫히며, Disassembly 영역은 가지 옵션을 가지게 되었습니다. (Show Opcodes Show Addresses).

*       Call Stack 윈도우: 이제 특정 프레임에 브레이크포인트를 설정할 있습니다.

*       사용자가 지정하지 않은 브레이크포인트 무시: 이제 IDE에서 명확하게 설정하지 않은 브레이크포인트를 디버거가 무시하도록 지정할 있습니다.

*       디버그 소스 패스: 디버그를 위한 소스 패스는 이제 Project | Options | Debugger 페이지에서 지정하는 전역 설정이 되었습니다.

*       툴바 버튼: Notify on Language Exceptions 명령은 이제 View | Toolbars | Customize | Commands | Categories | Run 페이지에서 아이콘으로 표시됩니다. 아이콘을 툴바로 드래그하여 빠르게 사용할 있습니다.

*       투명한 툴팁: 디버거 이밸류에이터 툴팁을 투명하게 하려면 툴팁이 나타날 CTRL 키를 누르면 됩니다. 툴팁을 투몀하게 하면 툴팁 뒤의 화면을 읽을 있게 됩니다.

투게더 모델링

C++ 언어에 대한 투게더 모델링 지원이 새로 추가되었습니다.

*       제한적인 투게더 모델링 지원: C++빌더 2007에서 IDE 완전히 통합된 투게더 모델링 툴은 코드 비주얼라이제이션(읽기 전용), 문서 생성, 다이어그램 프린트 기능만을 제공합니다. 하지만 온라인 헬프에서는 투게더 기능의 전체가 설명되어 있습니다.

*       C++ 클래스 다이어그램 (코드 비주얼라이제이션): C++ 클래스 다이어그램은 읽기 전용 모드로만 동작합니다. 여러분의 C++ 프로젝트에서 다이어그램을 디자인할 있지만 Model View에서 클래스, 인터페이스 등을 생성할 수는 없습니다.

*       디자인 다이어그램: 디자인 다이어그램의 전체 기능은 엔터프라이즈 에디션에서만 지원됩니다. 여기에는 시퀀스 다이어그램, 컬레버레이션(collaboration) 다이어그램, 스테이트 차트, 디플로이먼트 다이어그램, 유즈 케이스 다이어그램, 액티비티 다이어그램, 컴포넌트 다이어그램 등이 여기에 해당됩니다.

*       다이어그램 프린트 문서 생성: 프로페셔널과 엔터프라이즈 에디션 모두 다이어그램 프린트를 지원합니다. 또한 엔터프라이즈 에디션에서는 문서 생성도 지원합니다.

노트:

제품의 특정 에디션에서만 헬프에서 설명하는 투게더의 전체 기능을 지원합니다. 현재 릴리즈에서는 제한된 기능들만 포함하고 있습니다.

데이터베이스

C++빌더 2007에서는 데이터베이스 애플리케이션 개발 지원을 개선하기 위한 많은 변경이 이루어졌습니다.

dbExpress

유니코드 지원 오라클, Interbase, MySQL dbExpress 드라이버에 추가되었습니다.

드라이버 클라이언트 Interbase 2007 MySQL 4.1 5 버전에 대해 추가되었습니다.

dbExpress 프레임워크 도입되었습니다. 기존의 드라이버와 인터페이스하거나 dbExpress 프레임워크의 추상 클래스들을 확장하여 드라이버를 개발하기 위해 프레임워크를 사용할 있습니다. 프레임워크는 네이티브 매니지드 애플리케이션에서 직접 사용될 있습니다.

델리게이트 드라이버 애플리케이션과 실제 드라이버 사이의 드라이버입니다. 델리게이트 드라이버는 dbExpress 4 프레임워크의 모든 퍼블릭 메소드 프로퍼티의 처리 혹은 후에 특정 작업을 있게 해줍니다. 델리게이트 드라이버는 연결 풀링, 드라이버 프로파일링, 추적, 감사에 유용합니다. 예제 델리게이트 드라이버가 제공됩니다.

dbExpress VCL 컴포넌트의 API 약간 변경되었습니다. 대부분의 애플리케이션은 dbExpress VCL 변경에 영향을 받지 않습니다. 하지만 몇몇 메소드, 프로퍼티, 이벤트, 상수, enum 들은 제거되거나 유사 기능으로 대체되었습니다.

네이티브 매니지드 애플리케이션 모두를 위한 프레임워크의 위에 레이어가 되는 dbExpress VCL 컴포넌트를 이용할 있습니다. TSQLConnection 클래스(메소드 변경), TSQLDataSet( 프로퍼티), 데이터 구조(일부 제거되거나 대체됨) VCL 컴포넌트들에 몇가지 소소한 API 변경이 있었습니다.

dbExpress 드라이버 프레임워크:

*       델파이 언어로 완전히 새로 작성되었으며 드라이버를 델파이로 개발할 있게 해줍니다.

*       포인터 대신 강력하게 타입된 데이터 액세스를 이용합니다. 예로, 프레임워크는 문자열에 대해 포인터 대신 String 타입을 이용합니다.

*       단일 소스 기반입니다. 이것은 단일 소스로 네이티브 DCC32 혹은 매니지드 DCCIL 컴파일러로 컴파일 가능하다는 것을 의미합니다.

*       드라이버, 연결, 명령, 리더 등을 위해 추상 베이스 클래스들만을 사용합니다.

*       에러 코드를 리턴하는 대신 예외 기반의 에러 처리를 이용합니다.

VCL RTL

AJAX: C++빌더 2007 AJAX 기반의 VCL for the Web 개발을 지원합니다.

마이크로소프트 비스타 호환성: C++빌더 2007 비스타 OS &필과 호환되는 컴포넌트, 클래스, 메소드, 프로퍼티들을 제공합니다.

VCL 컴포넌트들: 다음의 클래스들이 VCL 추가되었습니다.

*       TFileOpenDialog

*       TFileSaveDialog

*       TTaskDialog

*       TCustomFileDialog

*       TCustomFileOpenDialog

*       TCustomFileSaveDialog

*       TCustomTaskDialog

*       TFavoriteLinkItem

*       TFavoriteLinkItems

*       TFavoriteLinkItemsEnumerator

*       TFileTypeItem

*       TFileTypeItems

*       TTaskDialogBaseButtonItem

*       TTaskDialogButtonItem

*       TTaskDialogButtons

*       TTaskDialogButtonsEnumerator

*       TTaskDialogProgressBar

*       TTaskDialogRadioButtonItem

메모리 매니저 루틴 변수들: 다음과 같은 시스템 루틴들과 변수들이 메모리 매니저를 지원하기 위해 추가되었습니다.

*       AttemptToUseSharedMemoryManager

*       GetMemoryManagerState

*       GetMemoryMap

*       GetMinimumBlockAlignment

*       RegisterExpectedMemoryLeak

*       SetMinimumBlockAlignment

*       ShareMemoryManager

*       UnregisterExpectedMemoryLeak

*       NeverSleepOnMMThreadContention

*       ReportMemoryLeakOnShutdown

 

박지훈.임프 [cbuilder]   2008-03-04 17:18 X
코드기어 DN에 번역해서 올렸던 것입니다.
http://dn.codegear.com/article/36636

+ -

관련 글 리스트
124 C++빌더 2007의 새로운 기능들 박지훈.임프 23641 2008/03/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.