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

C++빌더 Q&A
C++Builder Programming Q&A
[74795] Re:Re:Boost 최신 버전을 사용할수 없나요?
뽀뽀중 [kissjung] 3409 읽음    2018-02-12 08:00
빌더(TWx) 님이 쓰신 글 :
: 뽀뽀중 님이 쓰신 글 :
: : 안녕 하세요
: :
: : Boost Python을 사용을 고려 중입니다.
: : Python은 2.x 와 3.x 버전이 호환성이 많이 떨어진다고 하여 3.x 버전을 사용할 생각 입니다
: :
: : 그런데, Rad Studio 최신버전에서 지원하는 Boost는 32-bit Windows BCC32 1.39.0버전, BCC32C 1.55.0버전 인데,,
: : Boost 1.55에서는 Python 2.0을 지원하는 것 같습니다,
: :
: : 인터넷으로 Boost 최신버전을 Rad Studio에서 사용하는 방법을 찾아보고 있는데, 참고할 자료가 거의 없습니다.
: :
: : 불가능 한 것인가요?
: :
:
:
: 답변:
:
:
: Boost  Python 최신 버전을 Rad Studio 에서 사용할 수 있도록 누군가에게 포팅을 의뢰한다고 해봅시다.
:
: Boost는 C++ Template 테크닉을 이용해서 구현되기 때문에 포팅이 가능하려면 우선 C++ Template을
: 완벽하게 다룰 수 있는 사람이어야 합니다.
:
: Boost 라이브러리가 아래와 같이 C++17 랭귀지 파워를 이용해서 작성되어 있다면
:
: void fun(std::string_view id, std::unique_ptr<Foo> foo)
: {  
:     if (auto [pos, inserted] = items.try_emplace(id, std::move(foo)); inserted)
:         pos->second->launch();  
:     else
:         standby.emplace_back(std::move(foo))->wait_for_notification();   
: }
:
: C++17 Template 테크닉을 모르고 있으면 소스코드 해석 마저도 못할테니까
: C++11만 지원하는 컴파일러에 맞게 포팅하는 것 자체가 불가능 할 것이기 때문이죠.
:
:
: 그리고...
:
: Boost Python은 Jam 빌드시스템에 의해서 빌드되게 되어있고, Bootstrap 과정에서 Jam 빌드 시스템 자체를
: 컴파일 해서 사용하는 환경이기 때문에 Rad Studio 컴파일러를 지원하도록 하기 위해선 Jam 빌드 시스템도
: 수정해야 합니다.
:
: 이뿐이 아니고...
:
: Rad Studio 에서는 bcc32, bcc32c, bcc64의 3개의 C++ 컴파일러가 존재하는데...
: 각각의 컴파일러를 지원하도록 하려면 Boost 전체 템플릿 코드를 확인해서 각기의 컴파일러의 C++11, C++14, C++17
: 지원 여부에 맞게 템플릿 코드를 조건부로 컴파일 할 수 있도록 Boost 라이브러리 전체를 확인해서 수정 해줘야 합니다.
:
: 이건 완전 노가다죠. 엠바에선 C++ Template 다룰주 아는 직원들 동원해서 작업을 나눠서 하면 되겠지만 혼자서 작업하기엔
: 작업이 너무 커지고. 저 같은 경우라도 누군가 포팅 비용으로 3천에 해달라고 의뢰한다고 하면 작업에 착수하겠지만
: 그리 즐거운 일이 되지는 않을 겁니다.
:
: 오픈소스 생태계에서 엠바 컴파일러는 메인스트림 컴파일러로 취급 자체를 안할 정도로 별볼일 없는 컴파일러에
: 불과한 게 현실이고, 파이썬에서 C++ 모듈을 사용하는 게 목적이라면 그냥 VC++ 컴파일러 이용하세요.
:
:
:

BCC32는 Boost 1.39.0버전, BCC32C는 Boost 1.55.0버전 인것을 보면, 컴파일러 종류에 따라 작업을 따로 한것 같습니다.
다음 버전에서는 Boost 가 최신것이 포팅 되어 포함되었으면 좋겠네요.

엠바 컴파일러가 마이너 컴파일러라서, 많은 최신의 유용하거나 최신기술을 사용할수 없다는 것은 큰 문제인것 같습니다,

마지막 문장이 엠바 컴파일러의 현실인듯 합니다.
최신의 좋은 라이브러리를 사용할수 없다는 점 때문에 VC++  을 사용해야 할것 같습니다.

답변 감사 합니다.

+ -

관련 글 리스트
74792 Boost 최신 버전을 사용할수 없나요? 뽀뽀중 3369 2018/02/07
74793     Re:Boost 최신 버전을 사용할수 없나요? 빌더(TWx) 3589 2018/02/11
74795         Re:Re:Boost 최신 버전을 사용할수 없나요? 뽀뽀중 3409 2018/02/12
74796             Re:Re:Re:엠바에 대한 기대요? 헛된 기대입니다 빌더(TWx) 3613 2018/02/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.