Перейти к содержанию

blackswan

Members
  • Постов

    1
  • Зарегистрирован

  • Посещение

    Никогда

Достижения blackswan

  1. Имеется собраная мною shared object, необходимо не только передавать туда параметры-значения, но и несколько параметров-ссылок, чтоб возвращался результат работы библиотеки в некоторых переменных обратно, но пока что не вижу возврата результата, не знаю, как объявить правильнее. Пробовал также использовать & -взятие адреса, но пока не получается. Может это как-то связано с областью видимости переменных? Ключи компилятора для библиотеки: -ftls-model=local-dynamic и -fpic (GCC). объявление функции в библиотеке: void mainprocfunc(char *sPictureSourcePath, char *nProcessingFunction,char *sPicInputFormat,char *sPicOutputFormat, char *sFormatParams,char *sProcessingParams,int iErrorCode, char *sPictureDest,float rProcTime); три последних параметра должны передаваться по ссылке при вызове. код вызова в вызывающей программе: void *lib_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);
×
×
  • Создать...