C++Builder C++ Builder에서 64 비트 Windows 용 패키지를 지원
2014.07.04 01:55
엠바카데로 기술 문서와 유튜브 영상입니다.
참고문서:
http://docwiki.embarcadero.com/RADStudio/XE6/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE6#Packages_for_64-bit_Windows_Are_Now_Supported_by_C.2B.2BBuilder
C + + Builder에서 64 비트 Windows 용 패키지를 지원
C + + Builder XE6에서는 64 비트 Windows 용 패키지 생성을 지원하게되었습니다. 지금까지 C + + Builder에서는 32 비트 Windows 용 패키지 생성 만 지원했습니다. BCC64 컴파일러는 Win64 용. bpl 파일을 생성합니다. C + + Builder에서는 Mac 용. dylib 파일 및 iOS 및 Android 플랫폼 용 패키지를 생성하지 않는 점에 유의하십시오. 이러한 플랫폼의 경우 정적 라이브러리를 사용할 수 있습니다.
Win32 패키지와 Win64 패키지의 차이점
- Win64의 경우 PACKAGE와 지정된 코드 요소가 현재 변환 단위에 정의되어 있으면, 컴파일러는 그 코드 요소를 내 보냅니다. 클래스의 경우 구성원이 아닌 코드 요소가 하나라도 정의되어 있으면, 그 클래스를 내보낼 수 있습니다. 정의가 없으면 컴파일러는 코드 요소를 가져온 것으로 간주합니다. 이 동작은 Win32의 경우와는 다릅니다.
- Win32와 Win64의 두 경우 모두 PACKAGE을 사용해야하지만 Win64에서는 정의가 존재하는 경우에만 내보낼 수 있습니다. 이 요구 사항은 패키지를 사용하는 측에 노출되는 것으로되어있는 변수, 함수, 클래스에 적용됩니다.
예 :
class PACKAGE TTEST : public System :: TObject { private : int FProp ; __ property int Prop = { read = FProp, write = FProp } ; public : __fastcall TTest ( void ) ; __ fastcall virtual ~ TTest ( void ) ; } ; PACKAGE bool GoodieFlag ; PACKAGE void __ fastcall SuperFunc ( const System :: UnicodeString S ) ;
Win64 패키지 요구 사항
- 패키지에서 구성 요소 클래스를 내보내려면 각 구성 요소에 비 인라인 멤버가 하나 이상 반드시 존재하게합니다 (이것은 Component > New Component 마법사에서 자동으로 이루어집니다) .
- 이전 패키지의 출력 디렉터리 를 설정하여 Win32 패키지를 생성 한 경우 Tools > Options > Environment Options > C++ Options > Paths and Directories (C++) 페이지에서 Win64 프로젝트의 경우 경로를 변경해야 라고, Win32 패키지를 덮어 쓰지 않도록합니다.