60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
+
+
+
+
+
+
+
+
+
+
+
+
|
3. Tcl_WideInt
3. char*: TCL\_STATIC string (immutable from C -- use this for constants)
3. string, dstring: return a (char*) that is a TCL\_DYNAMIC string (allocated from Tcl\_Alloc, will be managed by Tcl)
3. vstring: return a (char*) that is a TCL\_VOLATILE string (mutable from C, will be copied be Tcl -- use this for local variables)
3. default: Tcl\_Obj*, a Tcl Object
4. `<code>` is the C code that comprises the function. If the `<code>` argument is omitted it is assumed there is already an implementation (with the name specified as `<procName>`, minus any namespace declarations) and this just creates the wrapper and Tcl command.
$handle cwrap
-------------
Creates a Tcl procedure that wraps an existing C function
Synoposis:
$handle cwrap <procName> <argList> <returnType>
Notes:
This only differs from the `cproc` subcommand with no `<code>` argument in that it creates a prototype before referencing the function.
$handle ccode
-------------
Compile arbitrary C code.
Synopsis:
$handle ccode <code>
|