# override-sample/include/libbase.h

# 1 ファイル

## 1.1 override-sample/include/libbase.h

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

このライブラリは動的ライブラリのオーバーライド機能を示すサンプルです。

### 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 sample_func

    BASE_EXPORT int BASE_API sample_func ( const int a, const int b, int *result )

計算処理を行います。

### 2.1.1 引数

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

### 2.1.2 戻り値

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

### 2.1.3 警告

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

## 2.2 console_output

    BASE_EXPORT void BASE_API console_output ( const char *format, ... )

printf と同じ書式でコンソールに出力します。

この関数は printf のラッパーです。
動的ライブラリ内から呼び出し元プロセスのコンソールに出力します。

### 2.2.1 引数

- format [in] printf 互換の書式文字列。
- … [in] 書式文字列に対応する引数。

### 2.2.2 使用例

    console_output("result: %d\n", 42);  // 出力: result: 42

## 2.3 funcman_info_libbase

    BASE_EXPORT int BASE_API funcman_info_libbase ( void )

libbase が管理する funcman_object ポインタ配列の内容を標準出力に表示します。

### 2.3.1 戻り値

すべてのエントリが正常に解決されている場合は 0、1 つでも失敗している場合は -1 を返します。

# 3 定数、マクロ

## 3.1 BASE_EXPORT

    #define BASE_EXPORT

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

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

条件 | 値
--- | ---
Linux (非 Windows) | (空)
Windows / `__INTELLISENSE__` 定義時 | (空)
Windows / `BASE_STATIC` 定義時 (静的リンク) | (空)
Windows / `BASE_EXPORTS` 定義時 (DLL ビルド) | `__declspec(dllexport)`
Windows / `BASE_EXPORTS` 未定義時 (DLL 利用側) | `__declspec(dllimport)`

## 3.2 BASE_API

    #define BASE_API

呼び出し規約マクロ。

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