Как расширить TCL с C ++? - PullRequest
       23

Как расширить TCL с C ++?

2 голосов
/ 21 февраля 2011

Могу ли я написать код C ++, который можно скомпилировать и использовать для расширения TCL (я не имею в виду вызов исполняемого файла)?Могу ли я описать некоторые классы, функции и использовать их в своем коде TCl, вызвав скомпилированный (.so или .a файл) код C ++?Если да, то, пожалуйста, объясните мне схематически, как это делается.

Ответы [ 4 ]

3 голосов
/ 26 марта 2012

http://cpptcl.sourceforge.net/ Это оболочка C ++ Tcl C API и очень удобная в использовании, хорошо документированная. Я говорю это из моего личного опыта.

C ++ / Tcl - это библиотека, которая позволяет легко интегрировать C ++ и Tcl. Если вы пишете программы на обоих языках, вы найдете это чрезвычайно полезным.

Библиотека C ++ / Tcl была основана на библиотеке Boost.Python и была разработана для обеспечения аналогичного интерфейса.

В настоящее время библиотека C ++ / Tcl предлагает следующие функции: Поддержка как расширения Tcl с помощью модулей C ++, так и встраивания Tcl в приложения C ++. Возможность выставлять свободные функции C ++ как команды в Tcl. Возможность определять классы и функции-члены класса, видимые в Tcl в стиле, аналогичном оболочкам SWIG. Возможность манипулировать списками и объектами Tcl из кода C ++.

2 голосов
/ 21 февраля 2011

Посмотрите на этот вопрос , он показывает, как создать расширение Tcl с использованием Visual C ++ под Windows. Процесс в Unix похож, но вы создаете библиотеку Unix .so, а не DLL.

2 голосов
/ 21 февраля 2011

Вы можете рассмотреть возможность использования SWIG для создания привязки. Он не создает особо идиоматического интерфейса Tcl (в конце концов, Tcl и C ++ довольно разные языки), но он позволяет вам работать очень быстро.

2 голосов
/ 21 февраля 2011

Вы можете расширить TCL с помощью C ++ . Особенно взгляните на инструмент Itcl ++ .

...