объявление функции в библиотеке:
Код:
void mainprocfunc(char *sPictureSourcePath, char *nProcessingFunction,char *sPicInputFormat,char *sPicOutputFormat,
char *sFormatParams,char *sProcessingParams,int iErrorCode, char *sPictureDest,float rProcTime);
три последних параметра должны передаваться по ссылке при вызове.
код вызова
Код:
void *llib_library;
void (*mainprocfunc)(char *,char *,char *,char *,char *,char *,int, char *, float );
char *PicPath1,*nProcP,*InForm,*OutForm,*ForPars,*ProcPars,*PicPath2;
int Errcd;
float prctime;
.......................
lib_library = dlopen("lib.so",RTLD_NOW|RTLD_GLOBAL);
mainprocfunc = dlsym(lib_library, "mainprocfunc");
(mainprocfunc)(PicPath1,nProcP,InForm,OutForm,ForPars,ProcPars,Errcd,PicPath2,pr
ctime);