0

書き込もうとしているコードがあり、void関数、情報があります。

void info(char *,char *);

これは、メイン関数から別のファイルで呼び出そうとしています。dlopenを使用してsoファイルを開きたい。関数をどのように呼び出しますか:info。私の他のファイルから?

使おうとしています

info("testing: ","Success");

info関数で未定義の参照エラーが発生します。

4

1 に答える 1

1

通常のパスは次のようなものです。

/* Set up a typedef for the function pointer to make the code nicer */
tyepdef void(*Info_ptr)(char*, char*);
/* Get the function, lib must be the dlopened library.*/
Info_ptr info;
info = (Info_ptr)dlsym( lib, "info");
/* Use the function pointer */     
(*info)("testing: ", "Success");

http://tldp.org/HOWTO/html_single/C++-dlopen/をご覧ください。

于 2011-08-29T01:10:10.997 に答える