Go to most recent revision | Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 2 | mjames | 1 | <Title>MkTclApp: A Tool For Mixing C/C++ with Tcl/Tk</Title> |
| 2 | <body bgcolor=white> |
||
| 3 | <H1 Align=center>Mktclapp<br>A Tool For Mixing C/C++ with Tcl/Tk</H1> |
||
| 4 | <p><center>Last Update: January 30, 2000 (Version 3.9)</center></p> |
||
| 5 | |||
| 6 | <p>Mktclapp is a utility that helps you |
||
| 7 | mix C/C++ with Tcl/Tk to make a standalone executable. |
||
| 8 | Using mktclapp, you can write programs where:</p> |
||
| 9 | |||
| 10 | <p> |
||
| 11 | <ul> |
||
| 12 | <li> C code can call Tcl procedures or execute Tcl commands, |
||
| 13 | <li> Tcl code can invoke C functions, |
||
| 14 | <li> The executable is a single binary file that will |
||
| 15 | run on machines without Tcl/Tk installed, |
||
| 16 | <li> The same source code will compile without changes under both |
||
| 17 | Unix and Windows, and |
||
| 18 | <li> The source code is hidden from the end user, |
||
| 19 | </ul> |
||
| 20 | </p> |
||
| 21 | |||
| 22 | <p>Mktclapp gives programmers the freedom to use |
||
| 23 | C code for the things that C is good at (computation, |
||
| 24 | complex data structures, etc.) while simultaneously using |
||
| 25 | Tcl for the things that Tcl is good at (the user interface.)</p> |
||
| 26 | |||
| 27 | |||
| 28 | <p>Mktclapp is a command-line program that can be run |
||
| 29 | from a makefile. But there is also a GUI "application wizard" |
||
| 30 | that makes it easy to use. |
||
| 31 | The mktclapp program itself and the GUI application |
||
| 32 | wizard are each contained in a single source file.</p> |
||
| 33 | |||
| 34 | <p>The Mktclapp program and the application wizard are covered |
||
| 35 | by the <a href="http://www.gnu.ai.mit.edu/copyleft/gpl.html"> |
||
| 36 | GNU Public License.</a> But the output generated by mktclapp |
||
| 37 | is in the public domain and can be used in any way you want.</p> |
||
| 38 | |||
| 39 | <p>The following items are available for download: |
||
| 40 | <ul> |
||
| 41 | <li> <a href="mktclapp.html">Documentation</a> and instructions for using |
||
| 42 | mktclapp.</li> |
||
| 43 | <li> The <a href="history.html">release history</a> of mktclapp.</li> |
||
| 44 | <li> A <a href="quickref.html">Quick Reference</a> highlighting everything |
||
| 45 | you need to remember to use mktclapp.</li> |
||
| 46 | <li> A <a href="autoconf.html">note</a> on how to use autoconf with |
||
| 47 | mktclapp.</li> |
||
| 48 | <li> C source code: <a href="mktclapp.c">mktclapp.c</a></li> |
||
| 49 | <li> Tcl/Tk sources to the application wizard: |
||
| 50 | <a href="xmktclapp.tcl">xmktclapp.tcl</a></li> |
||
| 51 | <li> <a href="screenshots.html">Screen-Shots</a> of the app wizard.</li> |
||
| 52 | <li> This entire website, including all of the above (but not the |
||
| 53 | contributed software) |
||
| 54 | as a <a href="mktclapp.tar.gz">tarball</a> |
||
| 55 | or as a <a href="mktclapp.zip">zip archive</a>.</li> |
||
| 56 | <li> <font color=red><b><i>New!</i></b></font> |
||
| 57 | <a href="contrib/index.html">Contributed</a> documentation and code. |
||
| 58 | </li> |
||
| 59 | </ul> |
||
| 60 | </p> |
||
| 61 | |||
| 62 | <p>Contact <a href="mailto:drh@acm.org">drh@acm.org</a> for comments, |
||
| 63 | questions and/or bug reports. |
||
| 64 | If you find mktclapp helpful, a quick e-mail to the author |
||
| 65 | will be greatly appreciated.</p> |
||
| 66 | |||
| 67 | <p><hr></p> |
||
| 68 | |||
| 69 | <p> |
||
| 70 | <ul> |
||
| 71 | <p><li> |
||
| 72 | <a href="http://www.albany.net/~dlabelle/freewrap/freewrap.html">Freewrap</a> |
||
| 73 | generates a standalone exectuable from pure Tcl/Tk |
||
| 74 | code, without the need for a C compiler.</li></p> |
||
| 75 | |||
| 76 | <p><li> |
||
| 77 | <a href="http://www.swig.org/">SWIG</a> is a utility that creates |
||
| 78 | a Tcl interface (or Perl or Python) to existing C code.</li></p> |
||
| 79 | |||
| 80 | <p><li> |
||
| 81 | Some versions of Jan Nijtmans' |
||
| 82 | <a href="http://members1.chello.nl/~j.nijtmans/plus.html">Plus Patches</a> |
||
| 83 | for Tcl contain aids for making Tcl/Tk programs into standalone |
||
| 84 | executables. More recently, Jan has made available the |
||
| 85 | <a href="http://members1.chello.nl/~j.nijtmans/wrap.html">wrap</a> program |
||
| 86 | which works like |
||
| 87 | <a href="http://www.albany.net/~dlabelle/freewrap/freewrap.html">Freewrap</a> |
||
| 88 | but achieves a smaller executable using some clever compression |
||
| 89 | techniques.</li></p> |
||
| 90 | |||
| 91 | <p><li> |
||
| 92 | The TclPro product from <a href="http://www.scriptics.com/">Scriptics</a> |
||
| 93 | includes the ProWrap utility for converting Tcl/Tk scripts into |
||
| 94 | standalone executables.</li></p> |
||
| 95 | |||
| 96 | <p><li> |
||
| 97 | The <a href="http://icemcfd.com/tcl/ice.html">ICE</a> compiler from |
||
| 98 | ICEM CFD Engineering converts Tcl scripts into C code which can then |
||
| 99 | be compiled using a C compiler for faster execution.</li></p> |
||
| 100 | |||
| 101 | <p><li> |
||
| 102 | <a href="http://starbase.neosoft.com/~claird/comp.lang.tcl/tcl_compilers.html"> |
||
| 103 | Cameron Laird's personal notes on Tcl Compilers</a> contains comparisons |
||
| 104 | and reviews of many Tcl compilation techniques.</li></p> |
||
| 105 | |||
| 106 | <p><li>Mktclapp is a replacement for <a href="../et">Embedded Tk</a> (ET). |
||
| 107 | Mktclapp tries to achieve the same result as ET, but it uses a |
||
| 108 | very different interface. |
||
| 109 | Mktclapp was written to address deficiencies in the design |
||
| 110 | of ET.</li></p> |
||
| 111 | </ul> |
||
| 112 | </p> |
||
| 113 | |||
| 114 | <p><hr><p> |
||
| 115 | <a href="../index.html"><img src="/goback.jpg" border=0> |
||
| 116 | More Open Source® Software</a> |
||
| 117 | |||
| 118 | </body> |
||
| 119 | </html> |