Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


ilib_mex_build

utility for mex library management

Syntax

ilib_mex_build(lib_name,table,files,libs [,makename,ldflags,cflags,fflags,cc])

Arguments

lib_name

a character string, the generic name of the library without path and extension.

table

3 column string matrix giving the table of 'scilab-name', 'interface name', 'cmex' or 'fmex'

files

string matrix giving objects files needed for shared library creation

libs

string matrix giving extra libraries needed for shared library creation

makename

character string. The path of the Makefile file without extension.

This parameter is useless since Scilab 5.0. Default value to use: [].

A warning will be displayed in Scilab 5.3 if you use another value that the default.

ldflags,cflags,fflags,cc

character strings to provide options/flags for the loader, the C compiler, the Fortran compiler. cc provides the name of the compiler.

Description

This function is used to create mex libraries and to generate a loader file which can be used to dynamically load the mex shared library.

Note that the file name containing the mex code can be set in the third input argument (files) or the second value of the table input argument.

Note that a compiler must be available on the system to use this function.

Examples

cd(TMPDIR);

mputl(['#include ""mex.h""'
       'void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])'
       '{'
       '  int *dims = mxGetDimensions(prhs[0]);'
       '  sciprint(""%d %d %d\n"",dims[0],dims[1],dims[2]);'
       '}'],'mexfunction16.c');
ilib_mex_build('libmex',['mexf16','mexfunction16','cmex'],[],[],'','','','');

exec(TMPDIR+'/loader.sce');
mexf16(rand(2,3,2));

See also

  • addinter — new functions interface dynamic link at run time.
  • link — dynamic linker
  • 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_gateway — utility for ilib_build, generates a gateway file.
  • 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_include_flag Link dynamique/incremental ilib_verbose >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:16:04 CEST 2024