dlsymを使用方法

1. <dlfcn.h>ヘッダファイルの#includeを含みます

2.関数定義ボイド* dlsymを(ボイド*ハンドル、CONSTのchar *の記号)。

ハンドルはdlopenの関数ハンドルを使用して返された後、関数のシンボル名は、取得要求、機能、戻り値は、関数のアドレスを指す、void *型であるの使用を求めて

dlopen dlsymを次の例に説明しました:

書式#include <dlfcn.h>

void *型ハンドル=のdlopen( "./ testListDB.so"、RTLD_LAZY)。

関数はcreateListDB int32_t createListDB(STD ::文字列)として定義されている場合。

だから、dlsymを使用して比較:int32_t(* create_listDB)(STD ::文字列)= reinterpret_castは<int32_t(*)(STD ::文字列)>(dlsymを(ハンドル、 "createListDB"))

CreateListDBは、EXTERNステートメントを使用するライブラリ関数を定義しているので主要な機能createListDBによって機能を見つけるために、

 

おすすめ

転載: www.cnblogs.com/qianqiannian/p/11762651.html