🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.tcl
Article #277

Re: libgg a tcl

#277
From: Maciej Sobczak
Date: Thu, 12 Jan 2006 09:25
47 lines
3126 bytes
Googie wrote:

>> Do integrowania kodu C/C++ z Tcl polecam:
>>
>> http://cpptcl.sourceforge.net/
>>
>> Nie jest to automat i trzeba trochę napisać. Ale po pierwsze niedużo, 
>> po drugie właśnie wtedy jest okazja, żeby coś zmienić albo nagiąć pod 
>> kątem Tcla.
> 
> Ale czy cpptcl nie służy do używania bibliotek na poziomie Tcl? Bo - tak 
> tylko dla pewności mówię - my tu dywagujemy o użyciu C/C++ w Tcl.

Co to znaczy "użyciu C/C++ w Tcl"? Chyba nie chodzi o mieszanie składni 
dwóch języków w jednym pliku (chociaż da się użyć Tcl w C++, patrz niżej)?

C++/Tcl umożliwia przede wszystkim to, co SWIG - czyli zrobienie z 
istniejącego kodu C++ (np. z jakiejś gotowej biblioteki) modułu 
ładowalnego (albo nawet pakietu), który będzie używalny w Tcl w tym 
sensie, że w Tcl będą dostępne nowe komendy, automatycznie związane z 
kodem w C++.

Tutaj:

http://cpptcl.sourceforge.net/doc/quickstart.html

w pierwszym przykładzie jest pokazane, jak w Tcl zrobić polecenie hello, 
któro wywołuje istniejącą funkcję C++.

Można też zrobić coś, co zdaje się w SWIGu nie jest możliwe (ale nie 
sprawdzałem) - zagnieździć interpreter Tcl w programie C++ tak, że jedno 
i drugie będzie miało nawzajem dostęp do swoich struktur. Pokazuje to 
drugi przykład na tej samej stronie.

A konkretnie (w praktyce): kolega z pracy ma jakieś cyfrowe oscyloskopy, 
obsługiwane przez sieć przy użyciu biblioteki w C/C++ dostarczonej przez 
producenta tych oscyloskopów. Krótki dodatkowy plik z kilkoma wrapperami 
i jednym blokiem CPPTCL_MODULE pozwolił na stworzenie modułu ładowalnego 
do Tcl, dzięki czemu kolega może sobie teraz pisać skrypty diagnostyczne 
w Tcl (albo nawet pisać je na bieżąco w konsoli z tclsh), co jest dużo 
prostsze, niż pełny cykl tworzenia nawet krótkiego programu w C++.

Nie wiem co to ten libgg, ale też się da. :)

-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/
Technical Details
Message-ID: <dq57b1$c5p$1@sunnews.cern.ch>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!news-stu1.dfn.de!news.germany.com!news.belwue.de!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!cern.ch!news
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq32d4$jr4$1@sunnews.cern.ch> <dq3cel$4cr$1@srv.cyf-kr.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!news-stu1.dfn.de!news.germany.com!news.belwue.de!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!cern.ch!news
From: Maciej Sobczak <no.spam@no.spam.com>
Newsgroups: pl.comp.lang.tcl
Subject: Re: libgg a tcl
Date: Thu, 12 Jan 2006 10:25:53 +0100
Organization: CERN - European Laboratory for Particle Physics
Lines: 47
Message-ID: <dq57b1$c5p$1@sunnews.cern.ch>
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq32d4$jr4$1@sunnews.cern.ch> <dq3cel$4cr$1@srv.cyf-kr.edu.pl>
NNTP-Posting-Host: abpc10883.cern.ch
Mime-Version: 1.0
X-Trace: sunnews.cern.ch 1137057953 12473 (None) 137.138.37.241
X-Complaints-To: news@sunnews.cern.ch
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Red Hat/1.7.12-1.1.3.2.SL3
X-Accept-Language: en-us, en
In-Reply-To: <dq3cel$4cr$1@srv.cyf-kr.edu.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit