ilib_gen_gateway
utility for ilib_build, generates a gateway file.
Syntax
ilib_gen_gateway(name,table)
Arguments
- name
a character string, the generic name of the library without path and extension.
- table
2 column string matrix giving the table of pairs 'scilab-name' 'interface name'
Description
Utility function used by ilib_build
This function
generates a gateway file used by addinter
.
if WITHOUT_AUTO_PUTLHSVAR variable is defined and equals to %t, PutLhsVar(); will need to manage PutLhsVar in each interface as internal scilab functions.
In another case (default, for compatibility with previous version) , PutLhsVar(); is added in each interface.
You can also see SCI/contrib/toolbox_skeleton/sci_gateway/c/builder_gateway_c.sce (as example about WITHOUT_AUTO_PUTLHSVAR)
Example about WITHOUT_AUTO_PUTLHSVAR = %t
cd TMPDIR WITHOUT_AUTO_PUTLHSVAR = %t; name = 'gw_example1'; table = ['sci_func1', 'func1'] ilib_gen_gateway(name,table) // generated gateway mgetl(TMPDIR+'/gw_example1.c')
int sci_func1(char *fname) { // ... your C code // you need to add a explicit PutLhsVar(); // as internal all gateways of scilab PutLhsVar(); return 0; }
Example about WITHOUT_AUTO_PUTLHSVAR = %f (default)
cd TMPDIR WITHOUT_AUTO_PUTLHSVAR = %f; name = 'gw_example2'; table = ['sci_func2', 'func2'] ilib_gen_gateway(name,table) // generated gateway mgetl(TMPDIR+'/gw_example2.c')
int sci_func2(char *fname) { // ... your code // you do NOT need to add a explicit PutLhsVar(); // added by scilab after call to sci_func2 // default mode in scilab 4 return 0; }
See also
- addinter — new functions interface dynamic link at run time.
- link — dynamic linker
- ilib_build — utility for shared library management
- ilib_compile — ilib_build utility: executes the Makefile produced by ilib_gen_Make
- ilib_gen_Make — utility for ilib_build: produces a Makefile for building shared libraries
- ilib_gen_loader — utility for ilib_build: generates a loader file
- ilib_for_link — utility for shared library management with link
Report an issue | ||
<< ilib_gen_cleaner | Dynamic/incremental Link | ilib_gen_loader >> |