D 2014-06-22T22:29:16.902 L Documentation N text/x-markdown P 08b4f3af1aaaa9a1071bf1fc4e57c99213df7d60 U rkeene W 2473 High-Level API Manual Page ========================== `package require tcc4tcl` tcc4tcl::new ------------ Creates a new TCC interpreter instance. Synposis: tcc4tcl::new ? ??? Returns an opaque handle which is also a Tcl command to operate on. $handle cproc ------------- Creates a Tcl procedure that calls C code. Synoposis: $handle cproc 1. `` is the name of the Tcl procedure to create 1. `` is a list of arguments and their types for the C function; 1. The list is in the format of: type1 name1 type2 name2 ... typeN nameN 1. The supported types are: 1. Tcl_Interp*: Must be first argument, will be the interpreter and the user will not need to pass this parameter 1. int 1. long 1. float 1. double 1. char* 1. Tcl_Obj*: Passes the Tcl object in unchanged 1. void* 1. `` is the return type for the C function 1. The supported types are: 1. void: No return value 1. ok: Return TCL\_OK or TCL_ERROR 1. int 1. long 1. float 1. double 1. char*: TCL\_STATIC string (immutable from C -- use this for constants) 1. string, dstring: return a (char*) that is a TCL\_DYNAMIC string (allocated from Tcl\_Alloc, will be managed by Tcl) 1. vstring: return a (char*) that is a TCL\_VOLATILE string (mutable from C, will be copied be Tcl -- use this for local variables) 1. default: Tcl\_Obj*, a Tcl Object 1. `` is the C code that comprises the function $handle ccode ------------- Compile arbitrary C code. Synopsis: $handle ccode $handle tk ---------- Request that Tk be used for this handle. Synposis: $handle tk $handle linktclcommand ---------------------- Create a Tcl command that calls an existing C command as a Tcl command. Synopsis: $handle linktclcommand $handle code ------------ Return text of what code will be compiled when the _go_ subcommand is called. Synposis: $handle code $handle go ---------- Execute all requested operations and output to memory, an executable, or DLL. Once this command completes the handle is released. Synopsis: $handle go See also [Low-Level API](wiki/Low-Level API) Z 2d653a5bff30cb27391190e5a4a9ff63