calc/include/libcalc.h

1 ファイル

1.1 calc/include/libcalc.h

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

このライブラリは基本的な整数演算を提供します。
動的リンクによる機能外提供用の API を模しています。

1.1.1 作者

c-modenization-kit sample team

1.1.2 バージョン

1.0.0

1.1.3 日付

2025/11/22

1.1.4 インクルード元

libcalc.h のインクルード元

1.1.5 著作権

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

2 関数

2.1 calcHandler

CALC_EXPORT int CALC_API calcHandler ( const int kind, const int a, const int b, int *result )

指定された演算種別に基づいて計算を実行します。

この関数は演算種別を受け取り、対応する計算関数を呼び出します。 現在サポートされている演算種別は以下の通りです。

演算種別 説明
CALC_KIND_ADD 加算を実行
CALC_KIND_SUBTRACT 減算を実行
CALC_KIND_MULTIPLY 乗算を実行
CALC_KIND_DIVIDE 除算を実行

2.1.1 引数

  • kind [in] 演算の種別 (CALC_KIND_ADD など)。
  • a [in] 第一オペランド。
  • b [in] 第二オペランド。
  • result [out] 計算結果を格納するポインタ。

2.1.2 戻り値

成功時は CALC_SUCCESS、失敗時は CALC_SUCCESS 以外の値を返します。

2.1.3 警告

無効な kind を指定した場合、ゼロ除算の場合、 または result が NULL の場合は失敗を返します。 呼び出し側で戻り値のチェックを行ってください。

2.1.4 使用例

int result;
if (calcHandler(CALC_KIND_ADD, 10, 20, &result) == CALC_SUCCESS) {
    printf("Result: %d\n", result);  // 出力: Result: 30
}

3 定数、マクロ

3.1 CALC_EXPORT

#define CALC_EXPORT

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

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

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

3.2 CALC_API

#define CALC_API

呼び出し規約マクロ。

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