2011-09-20 4 views
1

많은 COM 기능을 가진 C++ 프로젝트로 작업하고 있습니다. 입력과 출력의 대부분은 VARIANT입니다. Boost를 사용하여 long, string 등으로 serialize/deserialize하는 쉬운 방법이 있습니까?부스트를 사용하여 COM 변형 처리

답변

1

부스트는 Microsoft의 COM 기술과 관련하여 전혀 없습니다. Boost에서 COM의 변형에 가장 가까운 것은 boost::any입니다. COM의 variant_tboost::any 변환기에 쓸 수 있습니다. 직렬화, 캐스트 등을 할 수 있습니다.

+0

그래서 내가 할 수 있다고 말하고 있지만 OLE2A 등을 사용하여 변환 함수를 작성해야합니다. – John

+0

@JWM : 예, 직접 작성해야합니다. –

+0

boost :: lexical_cast는 어떻습니까? 대신 사용할 수 있습니까? BSTR을 int (works)로 변환하려고했지만 BSTR을 문자열로 변환 할 수 없었습니다. – John

0

FatRat 라이브러리라고하는 오픈 소스 OPC (OLE 용 프로세스 제어) 서버 구현이 있습니다. 그것은 부스트를 사용하고 주위에 많은 변종을 밀어. 매우 감동적입니다.