<
Title>MkTclApp: A Tool
For Mixing C
/C++ with Tcl
/Tk<
/Title>
<
H1 Align=center>Mktclapp<
br>A Tool
For Mixing C
/C++ with Tcl
/Tk<
/H1>
<
p>Mktclapp is a utility that helps you
mix C/C++ with Tcl/Tk to make a standalone executable.
Using mktclapp, you can write programs where:<
/p>
<
li> C
code can call Tcl procedures or execute Tcl commands,
<
li> Tcl
code can invoke C functions,
<
li> The executable is a single binary file that will
run on machines without Tcl/Tk installed,
<
li> The same source
code will compile without changes under both
Unix and Windows, and
<
li> The source
code is hidden from the end user,
<
p>Mktclapp gives programmers the freedom to use
C code for the things that C is good at (computation,
complex data structures, etc.) while simultaneously using
Tcl
for the things that Tcl is good at
(the user interface.
)<
/p>
<
p>Mktclapp is a command-line program that can be run
from a makefile. But there is also a GUI "application wizard"
that makes it easy to use.
The mktclapp program itself and the GUI application
wizard are each contained in a single source file.<
/p>
<
p>The Mktclapp program and the application wizard are covered
by the <
a href="http://www.gnu.ai.mit.edu/copyleft/gpl.html">
GNU Public License.<
/a> But the output generated by mktclapp
is in the public domain and can be used in any way you want.<
/p>
<
p>The following items are available
for download:
<
li> <
a href="mktclapp.html">Documentation<
/a> and instructions
for using
<
li> The <
a href="history.html">release history<
/a> of mktclapp.<
/li>
<
li> A <
a href="quickref.html">Quick Reference<
/a> highlighting everything
you need to remember to use mktclapp.<
/li>
<
li> A <
a href="autoconf.html">note<
/a> on how to use autoconf with
<
li> C source
code: <
a href="mktclapp.c">mktclapp.c<
/a><
/li>
<
li> Tcl
/Tk sources to the application wizard:
<
a href="xmktclapp.tcl">xmktclapp.tcl<
/a><
/li>
<
li> <
a href="screenshots.html">Screen-Shots<
/a> of the app wizard.<
/li>
<
li> This entire website, including all of the above
(but not the
contributed software)
as a <
a href="mktclapp.tar.gz">tarball<
/a>
or as a <
a href="mktclapp.zip">zip archive<
/a>.<
/li>
<
a href="contrib/index.html">Contributed<
/a> documentation and
code.
<
p>Contact <
a href="mailto:drh@acm.org">drh@acm.org<
/a>
for comments,
questions and/or bug reports.
If you find mktclapp helpful, a quick e-mail to the author
will be greatly appreciated.<
/p>
<
a href="http://www.albany.net/~dlabelle/freewrap/freewrap.html">Freewrap<
/a>
generates a standalone exectuable from pure Tcl/Tk
code, without the need
for a C compiler.<
/li><
/p>
<
a href="http://www.swig.org/">SWIG<
/a> is a utility that creates
a Tcl interface
(or Perl or Python
) to existing C
code.<
/li><
/p>
Some versions of Jan Nijtmans'
<a href="http://members1.chello.nl/~j.nijtmans/plus.html">Plus Patches</a>
for Tcl contain aids for making Tcl/Tk programs into standalone
executables. More recently, Jan has made available the
<a href="http://members1.chello.nl/~j.nijtmans/wrap.html">wrap</a> program
which works like
<a href="http://www.albany.net/~dlabelle/freewrap/freewrap.html">Freewrap</a>
but achieves a smaller executable using some clever compression
techniques.</li></p>
<p><li>
The TclPro product from <a href="http://www.scriptics.com/">Scriptics</a>
includes the ProWrap utility for converting Tcl/Tk scripts into
standalone executables.</li></p>
<p><li>
The <a href="http://icemcfd.com/tcl/ice.html">ICE</a> compiler from
ICEM CFD Engineering converts Tcl scripts into C code which can then
be compiled using a C compiler for faster execution.</li></p>
<p><li>
<a href="http://starbase.neosoft.com/~claird/comp.lang.tcl/tcl_compilers.html">
Cameron Laird's personal notes on Tcl Compilers<
/a> contains comparisons
and reviews of many Tcl compilation techniques.<
/li><
/p>
<
p><
li>Mktclapp is a replacement
for <
a href="../et">Embedded Tk<
/a>
(ET
).
Mktclapp tries to achieve the same result as ET, but it uses a
very different interface.
Mktclapp was written to address deficiencies in the design
<
a href="../index.html"><
img src="/goback.jpg" border=0>
More Open Source® Software<
/a>