|
Document of c-modernization-kit (funcman) 1.0.0
|
汎用 DLL ロード・アンロードフックヘッダー。 More...
#include <syslog.h>Go to the source code of this file.
Macros | |
| #define | DLLMAIN_INFO_MSG(msg) |
| DllMain / constructor / destructor コンテキストで安全に 情報メッセージを出力するマクロ。 | |
Functions | |
| static void | onLoad (void) |
| ライブラリのロード時に呼び出されるフック関数。 | |
| static void | onUnload (void) |
| ライブラリのアンロード時に呼び出されるフック関数。 | |
| __attribute__ ((constructor)) static void dllmain_on_load__(void) | |
| 共有ライブラリロード時のコンストラクタ (Linux 専用)。 | |
| __attribute__ ((destructor)) static void dllmain_on_unload__(void) | |
| 共有ライブラリアンロード時のデストラクタ (Linux 専用)。 | |
汎用 DLL ロード・アンロードフックヘッダー。
このヘッダーをインクルードした .c ファイルに対して、プラットフォームごとの DLL ロード・アンロードフックを提供します。
インクルード元の .c ファイルは以下の関数を定義する必要があります。
Linux : attribute((constructor/destructor)) により onLoad / onUnload が 自動的に呼び出されます。
Windows: DllMain の DLL_PROCESS_ATTACH / DLL_PROCESS_DETACH により onLoad / onUnload が呼び出されます。
Definition in file dllmain.h.
| #define DLLMAIN_INFO_MSG | ( | msg | ) |
DllMain / constructor / destructor コンテキストで安全に 情報メッセージを出力するマクロ。
DllMain コンテキストおよび constructor / destructor コンテキストでは 呼び出し可能な API に制限があります。
Linux では syslog(LOG_INFO, ...) を、Windows では OutputDebugStringA を使用することで制約を回避します。
| [in] | msg | 出力するメッセージ文字列リテラル。 |
|
static |
ライブラリのロード時に呼び出されるフック関数。
このヘッダーをインクルードする .c ファイルで定義する必要があります。
Linux では dlopen() またはプロセス起動時に、 Windows では LoadLibrary() またはプロセス起動時に呼び出されます。
Referenced by __attribute__().
|
static |
ライブラリのアンロード時に呼び出されるフック関数。
このヘッダーをインクルードする .c ファイルで定義する必要があります。
Linux では dlclose() またはプロセス正常終了時に、 Windows では FreeLibrary() またはプロセス正常終了時に呼び出されます。
Referenced by __attribute__().
| __attribute__ | ( | (constructor) | ) |
| __attribute__ | ( | (destructor) | ) |
共有ライブラリアンロード時のデストラクタ (Linux 専用)。
attribute((destructor)) により、dlclose() または プロセス正常終了時に自動的に呼び出されます。
Definition at line 85 of file dllmain.h.
References onUnload().