- /**
- * @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