1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
// Example ex08
//[1] call intersci with Makefile
//
V=G_make('ex08fi.c','ex08fi.c');
//[2] run the builder generated by intersci.
// Since files and libs were nor transmited
// to intersci we give them here
files = ['ex08fi.o';'ex08c.o'];
libs = [] ;
exec ex08fi_builder.sce
// generated with intersci
ilib_name = 'libex08fi' // interface library name
ilib_name =
libex08fi
table =["calc8","intscalc8"];
ilib_build(ilib_name,table,files,libs);
generate a gateway file
generate a loader file
generate a Makefile: Makelib
running the makefile
//[3] run the loader to load the interface
// Note that the file loader.sce
// is changed each time you run a demo
// if several0.desc are present in a directory
exec loader.sce
// generated by builder.sce: Please do not edit this file
// ------------------------------------------------------
libex08fi_path=get_file_path('loader.sce');
functions=[ 'calc8';
];
addinter(libex08fi_path+'/libex08fi.so','libex08fi',functions);
Loading shared executable0./libex08fi.so
shared archive loaded
Linking libex08fi
Interface 0 libex08fi
//[4] test the loaded function
//calc8: matrix of integer type created by C function (malloc and free).
a=calc8();
if norm(a - matrix(0:14,3,5)) > %eps then bugmes();quit;end
|