Tk_InitStubs - initialize the Tk stubs mechanism
Tk_InitStubs(interp, version, exact)
Tcl_Interp *interp (in) Tcl interpreter handle.
char *version (in) A version string consist
ing of one or more deci
mal numbers separated by
int exact (in) Non-zero means that only
the particular Tk version
specified by version is
acceptable. Zero means
that versions newer than
version are also accept
able as long as they have
the same major version
number as version.
The Tcl stubs mechanism defines a way to dynamically bind
extensions to a particular Tcl implementation at run time.
the stubs mechanism requires no changes to applications
incoporating Tcl/Tk interpreters. Only developers creat
ing C-based Tcl/Tk extensions need to take steps to use
the stubs mechanism with their extensions. See the
Tcl_InitStubs page for more information.
Enabling the stubs mechanism for a Tcl/Tk extension
requires the following steps:
1) Call Tcl_InitStubs in the extension before calling
any other Tcl functions.
2) Call Tk_InitStubs if the extension before calling any
other Tk functions.
2) Define the USE_TCL_STUBS symbol. Typically, you
would include the -DUSE_TCL_STUBS flag when compiling
3) Link the extension with the Tcl and Tk stubs
libtclstub8.1.a and libtkstub8.1.a; on Windows plat
forms, the library names are tclstub81.lib and
Tk_InitStubs attempts to initialize the Tk stub table
pointers and ensure that the correct version of Tk is
loaded. In addition to an interpreter handle, it accepts
as arguments a version number and a Boolean flag indicat
ing whether the extension requires an exact version match
or not. If exact is 0, then the extension is indicating
that newer versions of Tk are acceptable as long as they
have the same major version number as version; non-zero
means that only the specified version is acceptable.
Tcl_InitStubs returns a string containing the actual ver
sion of Tk satisfying the request, or NULL if the Tk ver
sion is not acceptable, does not support the stubs mechan
sim, or any other error condition occurred.