override-sample/include/libbase_ext.h

1 ファイル

1.1 override-sample/include/libbase_ext.h

オーバーライドライブラリ (動的リンク用) のヘッダーファイル。

このライブラリは libbase から動的にロードされ、
処理を引き受けるオーバーライド関数を提供します。

1.1.1 作者

c-modenization-kit sample team

1.1.2 バージョン

1.0.0

1.1.3 日付

2026/02/21

1.1.4 著作権

Copyright (C) CompanyName, Ltd. 2026. All rights reserved.

2 関数

2.1 override_func

BASE_EXT_EXPORT int BASE_EXT_API override_func ( const int a, const int b, int *result )

sample_func のオーバーライド実装。

libbase の sample_func から動的にロードされ呼び出されます。
a * b を計算して result に格納します。

2.1.1 引数

  • a [in] 第一オペランド。
  • b [in] 第二オペランド。
  • result [out] 計算結果を格納するポインタ。

2.1.2 戻り値

成功時は 0、失敗時は -1 を返します。

2.1.3 警告

result が NULL の場合は -1 を返します。

2.1.4 使用例

int result;
if (override_func(1, 2, &result) == 0) {
    console_output("result: %d\n", result);  // 出力: result: 2
}

3 定数、マクロ

3.1 BASE_EXT_EXPORT

#define BASE_EXT_EXPORT

DLL エクスポート/インポート制御マクロ。

ビルド条件に応じて以下の値を取ります。

条件
Linux (非 Windows) (空)
Windows / __INTELLISENSE__ 定義時 (空)
Windows / BASE_EXT_STATIC 定義時 (静的リンク) (空)
Windows / BASE_EXT_EXPORTS 定義時 (DLL ビルド) __declspec(dllexport)
Windows / BASE_EXT_EXPORTS 未定義時 (DLL 利用側) __declspec(dllimport)

3.2 BASE_EXT_API

#define BASE_EXT_API

呼び出し規約マクロ。

Windows 環境では __stdcall 呼び出し規約を指定します。
Linux (非 Windows) 環境では空に展開されます。
既に定義済みの場合は再定義されません。