2011-11-28 5 views
16

SWIG를 사용하여 일부 C++ API에서 C 래퍼를 생성하고 싶습니다. 꿀꺽 꿀꺽 문서 SWIG and C++에서 SWIG를 사용하여 C++ API를 통해 C 래퍼를 생성하려면 어떻게해야합니까?

:

은 C++을 포장

6.2 접근은, SWIG는 코드 생성에 대한 계층화 된 접근 방식을 사용합니다. 가장 낮은 레벨에서 SWIG 은 프로 시저 ANSI-C 스타일 래퍼 모음을 생성합니다. 이러한 래퍼는 기본 형식 변환, 형식 확인, 오류 처리 및 기타 낮은 수준의 C++ 바인딩에 대한 세부 정보를 처리합니다. 이러한 래퍼는 C++을 이 내장 된 프로 시저를 지원하는 대상 언어로 바인딩하기에 충분합니다. 어떤 의미에서이 래핑 레이어는 으로 C++에 대한 C 라이브러리 인터페이스를 제공하는 것으로 볼 수 있습니다.

그러나 Python, Ruby 등의 언어로 API를 사용하기위한 코드를 생성하지 않고서는 어떻게 할 수있는 옵션이 보이지 않습니다. 어떻게 C 래퍼 만 얻을 수 있습니까?

답변

12

SWIG의 주요 분기는 C++ API 용 C 래퍼를 생성 할 수 없지만 (질문에서 인용 된 SWIG 설명서는 약간 오도 된 것입니다.) Google Summer of Code 2008에서 작성된 SWIG 분기가 있고 https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd/에서 사용할 수 있습니다. 그. 여기에 답을 찾았습니다 : C++ to C Wrapper using SWIG (for FLTK)

+4

2012 년에 다른 GSOC 프로젝트가있었습니다 (http://sourceforge.net/news/?group_id=1645&id=309764) . 아직 완전하지는 않지만 이번에는 결실이 올 것으로 기대됩니다. – Milliams

관련 문제