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
|
// Example ex13
//[1] call intersci with Makefile
//
V=G_make('ex13fi.c','ex13fi.c');
//[2] run the builder generated by intersci.
// Since files and libs were nor transmited
// to intersci we give them here
files = ['ex13fi.o';'ex13c.o'];
libs = [] ;
exec ex13fi_builder.sce
// generated with intersci
ilib_name = 'libex13fi' // interface library name
ilib_name =
libex13fi
table =["ext13c","intsext13c"];
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
// ------------------------------------------------------
libex13fi_path=get_file_path('loader.sce');
functions=[ 'ext13c';
];
addinter(libex13fi_path+'/libex13fi.so','libex13fi',functions);
Loading shared executable0./libex13fi.so
shared archive loaded
Linking libex13fi
Interface 0 libex13fi
//[4] test the loaded function
a=rand(2,3);
// b=ext13c(a);
// XXXX: aliases not implemented
// if norm(b- matrix(2*a,3,2)) > %eps then bugmes();quit;end
|