/** * @file kc_dl.h * @brief 動的ライブラリモジュールヘッダファイル * @copyright 2002 - 2023 Nomura Kei * @depends * kc.h */ #ifndef KC_DL_H #define KC_DL_H #include <kc.h> #ifdef __cplusplus extern "C" { namespace kc { using namespace std; #endif #if (KC_IS_WINDOWS) typedef HINSTANCE dl_handle_t; #else #include <dlfcn.h> typedef void *dl_handle_t; #endif /** * 指定された動的ライブラリをオープンします。 * * @param filename 動的ライブラリのファイル名 */ dl_handle_t KcDl_open(const char *filename); /** * 動的ライブラリの関数を取得します。 * * @param handle ハンドル * @param symbol 関数のシンボル名 * @return 関数 */ void *KcDl_sym(dl_handle_t handle, const char *symbol); /** * 動的ライブラリをクローズします。 * * @param handle クローズするハンドル */ bool KcDl_close(dl_handle_t handle); #ifdef __cplusplus } // namespace kc } // extern "C" #endif #endif // KC_DL_H