8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
Creates a new TCC interpreter instance.
Synposis:
tcc4tcl::new ?<outputFile> ?<packageNameAndVersionAsAList>??
Returns an opaque handle which is also a Tcl command to operate on.
If neither `<outputFile>` nor `<packageNameAndVersionAsAList>` are specified, compilation (which happens when [$handle go] is called) is performed to memory.
If only `<outputFile>` is specified then an executable is written to the file named.
If `<packageNameAndVersionAsAList>` is also specified then a Tcl extension is written as a shared library (shared object, dynamic library, dynamic linking library) to the file named. The format is a 2 element list, the first is the name of the package and the second is the version number.
Examples:
1. Create a handle that will compile to memory:
1. `set handle [tcc4tcl::new]`
2. Create a handle that will compile to an executable named "myProgram":
2. `set handle [tcc4tcl::new myProgram]`
3. Create a handle that will compile to a shared library named "myPackage" with the package name "myPackage" and version "1.0":
3. `set handle [tcc4tcl::new myPackage "myPackage 1.0"]`
$handle cproc
-------------
Creates a Tcl procedure that calls C code.
Synoposis:
|