Article View: pl.comp.lang.tcl
Article #283Re: libgg a tcl
From: Maciej Sobczak
Date: Fri, 13 Jan 2006 09:26
Date: Fri, 13 Jan 2006 09:26
44 lines
2318 bytes
2318 bytes
Derek Kuliński / takeda wrote:
> http://cpptcl.sourceforge.net/doc/quickstart.html
> Niezłe - ląduje do moich bookmarków :)
>
> Chociaż nie pokazali jak w tym przekazuje się informacje (argumenty do
> funkcji, zwraca wynik itp)
http://cpptcl.sourceforge.net/doc/freefun.html
Wystarczy podać *nazwę* funkcji, którą chcemy wyeksportować. C++/Tcl
samo rozpozna, ile jest parametrów i jakie są ich typy i zajmie się
"brudną robotą".
Czyli mając funkcję w C (lub C++):
int abs(int i) { return i >= 0 ? i : -1 * i; }
robimy tak:
i.def("abs", abs);
i już - to wystarczy, żeby w Tclu pojawiła się komenda "abs", która ma
jeden parametr i zwraca to, co abs().
% abs 7
7
% abs -7
7
%
> bo w sumie samo podpięcie poleceń też nie jest
> takie skomplikowane w zwykłym C.
Pewnie, że nie jest. Ale przekazywanie parametrów, wartości zwracanych,
automatyczna transformacja wyjątków z C++ na Tcl, koncepcja klasy,
funkcje o zmiennej liczbie parametrów, kwestie życia obiektów, operacje
na listach - to są rzeczy, przy których C staje się uciążliwe.
--
Maciej Sobczak : http://www.msobczak.com/
Programming : http://www.msobczak.com/prog/
Technical Details
Message-ID:
<dq7ro1$6gb$1@sunnews.cern.ch>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!cern.ch!newsReferences:
<15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq32d4$jr4$1@sunnews.cern.ch> <1s1z0dsyl15md.dlg@takeda.tk.invalid>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!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: Fri, 13 Jan 2006 10:26:25 +0100 Organization: CERN - European Laboratory for Particle Physics Lines: 44 Message-ID: <dq7ro1$6gb$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> <1s1z0dsyl15md.dlg@takeda.tk.invalid> NNTP-Posting-Host: abpc10883.cern.ch Mime-Version: 1.0 X-Trace: sunnews.cern.ch 1137144385 6667 (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: <1s1z0dsyl15md.dlg@takeda.tk.invalid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit