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
[74793] Re:Boost 최신 버전을 사용할수 없나요?
빌더(TWx) [builder] 3590 읽음    2018-02-11 19:37
뽀뽀중 님이 쓰신 글 :
: 안녕 하세요
:
: 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++ 컴파일러 이용하세요.




+ -

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