[강좌] Tcl/Tk 확장

SWIG를 이용한 Tcl 확장

admin의 아바타

SWIG 란?

UTF-8과 인코딩(Encoding)

admin의 아바타

Tcl/Tk 8.1 이후 문자열은 내부에서 Java와 같은 Unicode(UTF-8)로 처리되어 집니다. C언어에서 2바이트 언어인 한글 문자열을 Tcl 커맨드에 대입시 Tcl의 encoding 커맨드로 UTF-8로 변환할 필요가 생깁니다.

TEA (Tcl Extension Architecture)

admin의 아바타

Tcl/Tk는 C언어로 간단하게 확장할수 있기 때문에 전세계적으로 확장 라이브러리가 계속 개발되고, 그 중에서도 많이 사용되는 유용한 것들은 Tcl 커뮤니티를 통하여 전세계 Tcl 개발자들에게 퍼져 왔습니다.

특정 이름공간(Namespace)에 속하는 Tcl 커맨드 만들기

admin의 아바타

특정 이름공간(namespace)에 속하는 커맨드를 만드는 방법은 매우 간단합니다. Tcl_CreateCommandTcl_CreateObjCommand 로 추가 하고 싶은 커맨드의 이름앞에 ::이름공간::이름공간... 라고 붙이면 됩니다.

DLLEXPORT int Abc_Init(Tcl_Interp* interp){

C언어와 순수 Tcl로 확장 패키지 만들기

admin의 아바타

지금까지의 강좌를 정리해보면, C로 Tcl/TK의 커맨드를 추가하는 방법에는 공유 라이브러리의 형태로 만들어두고, 이것을 Tcl언어의 load 커맨드로 로드하는 방법이었습니다.