.
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 ?<outputFile> ?<packageNameAndVersionAsAList>??
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 <procName> <argList> <returnType> <code>
1. `<procName>` is the name of the Tcl procedure to create
1. `<argList>` 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. `<returnType>` 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. `<code>` is the C code that comprises the function
$handle ccode
-------------
Compile arbitrary C code.
Synopsis:
$handle ccode <code>
$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 <CSymbol> <TclCommandName>
$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