SimplifiedWrapperAndInterfaceGenerator
Cee나 C++ 혹은 ObjectiveCee로 쓰여진 프로그램을 Perl, Python, MatLab, Guile, Ruby, Java 그리고 TclTk, PHP와 같은 스크립트 언어로 연결시키는 인터페이스 컴파일러이다. C/C++ 헤더 파일의 선언부를 취해서 연결코드(glue code 또는 wrapper)를 생성하는데 사용하여 스크립트 언어가 C/C++코드를 사용할 수 있게 해준다.
SWIG는 C/C++로의 연결 과정을 자동화 한 것으로 스크립트 언어를 사용하기 더욱 쉽게 한다. SWIG를 이용함으로 여러분이 만든 C/C++프로그램은 수정없이 (있다면 아주 약간) 바로 Perl, Python 그리고 Tcl/Tk와 같은 스크립트 언어에서 사용할 수 있는 모듈로 전환된다.
SWIG로 할 수 있는 몇 가지 일
- 기존의 C프로그램을 사용하는 강력한 인터페이스 설계
- 프로토타잎과 응용 프로그램 개발을 빨리 한다
- 대화적 디버깅
GUI를 만든다 (예 : Tk를 사용)
- 스크립트를 이용한 C 라이브러리와 프로그램의 강력한 테스트
- 스크립트 언어를 위한 고성능의 C 모듈을 제작
- C 프로그램을 사용하기가 쉬워진다. (꼭 C로 만들어야 할 부분만 만들므로, 나머지는 스크립트 언어로 쉽게...)
참고자료
Python의 경우, PythonCeeExtension보다 성능면에서 좀 떨어지긴 하지만, 그래도 유용하다.