PSQL Programmer's Guide (v11)

C/C++ (言語インターフェイス モジュール)

ここでは、Btrieve API の C/C++ モジュール情報を示します。

C/C++ インターフェイスは、プラットフォーム依存型アプリケーションの作成を容易にします。このインターフェイスは、DOS、Windows および Linux オペレーティング システムにおける開発をサポートします。これらのモジュールについては、表 26 でも説明しています。

インターフェイス モジュール

ここでは、C 言語インターフェイスを構成するモジュールについて詳述します。

BTRAPI.C

BTRAPI.C ファイルは、C アプリケーション インターフェイスの実際の実装です。BTRV および BTRVID を呼び出すすべてのアプリケーションをサポートします。これらの関数のいずれかで Btrieve 呼び出しを行う場合、BtrApi.c をコンパイルし、そのオブジェクトをアプリケーションの他のモジュールとリンクします。

BTRAPI.C ファイルには、BTRAPI.H、BTRCONST.H、BLOBHDR.H および BTITYPES.H を取り込むようにコンパイラに指示する #include ディレクティブが含まれています。これらのファイルを取り込むことによって、BTRAPI.C はインターフェイスに関連するプラットフォームの独立性を与えるデータ型を利用します。

BTRAPI.H

BTRAPI.H ファイルには、Btrieve 関数のプロトタイプが含まれています。プロトタイプ定義では、BTITYPES.H ファイルで定義されているプラットフォーム依存データ型を使用します。BTRAPI.H は、BTRV 関数と BTRVID 関数を呼び出すすべてのアプリケーションをサポートします。

BTRCONST.H

BTRCONST.H ファイルには、Btrieve 固有の有効な定数が含まれています。これらの定数を使用すると、Btrieve オペレーション コード、ステータス コード、ファイル仕様フラグ、キー仕様フラグなどの多数の項目への参照を容易に標準化できます。

BTRCONST.H を利用せずに C アプリケーション インターフェイスを使用できますが、このファイルを取り込んでプログラミング作業を単純化することができます。

BTITYPES.H

BTITYPES.H ファイルは、プラットフォーム依存データ型を定義します。Btrieve 関数呼び出しで BTITYPES.H 内のデータ型を使用して、アプリケーションは各オペレーティング システム間で移植されます。

BTITYPES.H では、アプリケーションが動作するオペレーティング システムを指示する際に使用しなければならないスイッチについても説明しています。表 28 はこれらのオペレーティング システムのスイッチのリストを示したものです。

表 28 Btrieve API オペレーティング システム スイッチ
オペレーティング システム
アプリケーション タイプ
スイッチ
DOS
16 ビット
Tenberry Extender および BStub.exe を使用した 32 ビット1
Phar Lap 6 を使用した 32 ビット
Embarcadero PowerPack を使用した 32 ビット
BTI_DOS
BTI_DOS_32R
BTI_DOS_32P
BTI_DOS_32B
Linux
32 ビット
BTI_LINUX
Linux
64 ビット
BTI_LINUX_64
Win32
32 ビット Windows
BTI_WIN_32
Win64
64 ビット Windows
BTI_WIN_64

BTRSAMP.C

BTRSAMP.C ソース ファイルは、表 28 で説明するオペレーティング システムでコンパイル、リンクおよび実行できるサンプル Btrieve プログラムです。

プログラミングの必要条件

C アプリケーション インターフェイスを使用してアプリケーション プラットフォームを独立型にする場合は、BTITYPES.H で説明しているデータ型を使う必要があります。これらのデータ型の使用方法については、BTRSAMP.C ファイルを参照してください。


メモ

また、プログラムが動作するオペレーティング システムを識別するディレクティブを指定する必要があります。ディレクティブに使用できる値は、ヘッダー ファイル BTITYPES.H に列挙されています。お使いのコンパイラの適切なコマンド ライン オプションを使用して、ディレクティブを指定してください。



インターフェイス モジュールの概要

COBOL (言語インターフェイス モジュール)