#
1.1 インクルードファイル

Python/C API を使うために必要な、関数、型およびマクロの全ての定義 をインクルードするには、以下の行:

    #include "Python.h"

をソースコードに記述します。 この行を記述すると、標準ヘッダ: `<stdio.h>`, `<string.h>`, `<errno.h>`, `<limits.h>`, and `<stdlib.h>` を (あれば) インクルードします。 システムによっては、Python の定義しているプリプロセッサ定義が 標準ヘッダに影響をおよぼす可能性があるので、Python.h は他の標準ヘッダファイルよりも前にインクルードしてください。

Python.h で定義されている、ユーザから見える名前全て (Python.h がインクルードしている標準ヘッダの名前は除きます) には、接頭文字列 "`Py`" または "`_Py`" が付きます。 "`_Py`" で始まる名前は Python 実装で内部使用するための名前で、拡張モジュールの作者は 使ってはなりません。構造体のメンバには予約済みの接頭文字列はありません。

重要: API のユーザは、"`Py`" や "`_Py`" で始まる名前を 定義するようなコードを絶対に書いてはなりません。 後からコードを読む人を混乱させたり、将来の Python のバージョンで同じ 名前が定義されて、ユーザの書いたコードの可搬性を危うくする可能性が あります。

ヘッダファイル群は通常 Python と共にインストールされます。 Unixでは prefix/include/pythonversion/ および exec_prefix/include/pythonversion/ に 置かれます。prefix と exec_prefix は Python を ビルドする際の configure スクリプトに与えたパラメタに 対応し、version は `sys.version[:3]` に対応します。 Windows では、ヘッダは prefix/include に置かれます。 prefix はインストーラに指定したインストールディレクトリです。

ヘッダをインクルードするには、 各ヘッダの入ったディレクトリ (別々の ディレクトリの場合は両方) を、コンパイラがインクルードファイルを 検索するためのパスに入れます。 親ディレクトリをサーチパスに入れて、 "`#include <python2.3/Python.h>`" のようにしては なりません; prefix 内のプラットフォームに依存しない ヘッダは、exec_prefix からプラットフォーム依存のヘッダを インクルードしているので、このような操作を行うと複数のプラットフォーム でのビルドができなくなります。

API はすべて C 言語を使って定義していますが、ヘッダファイルは エントリポイントを `extern "C"` で適切に宣言しているので、 C++ ユーザは、なんの問題もなく C++から API を利用できる ことに気づくはずです。