OO 유형 형식으로 작성된 레거시 C 라이브러리가 있습니다.C 라이브러리 용 C++ 래퍼 작성
LIB *lib_new();
void lib_free(LIB *lib);
int lib_add_option(LIB *lib, int flags);
void lib_change_name(LIB *lib, char *name);
내 C++ 프로그램에서이 라이브러리를 사용하고자하는, 그래서 필요 ++ 래퍼는 C를 생각하고 있어요 : 일반적인 기능 등이있다. 는 위의 모든 같은에 매핑 할 것 같다 : 내가 전에 C++ 래퍼 라운드 C를 쓴 적이
class LIB
{
public:
LIB();
~LIB();
int add_option(int flags);
void change_name(char *name);
...
};
, 그것에 대해 많은 조언을 찾을 수 없습니다. 이것은 C++/C 래퍼를 만드는 데 좋은/일반적인/합리적인 접근법입니까?
자신을 반복하지 마십시오? –
@Neil : 싸우지 않습니까? –
나는 동의하지 않는다 (그러나 downvote 없음). 간단한 C 라이브러리의 경우 래퍼가 필요없는 경우가 많습니다. 그러나 더 복잡한 C 라이브러리의 경우 경량 C 래퍼가 매우 유용 할 수 있습니다. 한 가지 예가 떠오릅니다. Tibco는 Tibrv를 감싸는 매우 가벼운 래퍼를 가지고있어서 대단히 도움이됩니다. –