モジュールに、インタフェースを提供します。
ヘッダーファイルは、特別な種類のソースファイルです。
ヘッダーファイルは、通常、プリプロセッサ命令文、定義、宣言、プロトタイプ、定数、列挙、または同様のタイプの命令文だけを含みます。
ただし、ヘッダーファイルには、目的に応じて、任意の有効なソースコードを含めることができます。
他のモジュール(.bas)ソースファイルとの違いは、直接コンパイルするのではなく、
#include プリプロセッサ命令文を使って他のソースファイル(モジュールやヘッダー)に含められることです。
コンパイルされたすべてのライブラリには、通常、別のソースファイルに含めることができる1つ以上のヘッダーファイルがあり、特定のライブラリで使える手続きのすべての名前がコンパイラに取り込まれます。
FreeBASIC ヘッダー・ファイル
このマニュアルに書かれた、キーワード、定数、手続きの一部には、ソースコードをコンパイルするために、ソースの最初に、特定のヘッダーファイルを含めなければならないものがあります。
(
既存のライブラリを使う を参照下さい。)
- inc/fbc-int/array.bi
- inc/datetime.bi
- inc/dir.bi
- inc/fbgfx.bi
- inc/fbio.bi
- inc/fblimits.bi
- inc/fbprng.bi
- inc/fbthread.bi
- inc/file.bi
- inc/fbc-int/symbol.bi
- inc/crt/string.bi
-
inc/vbcompat.bi - datetime.bi, dir.bi, file.bi, string.bi、およびマイクロソフト Visual Basic互換の追加定数を含んでいます。
大文字小文字の区別
FreeBASIC 言語自体は、大文字と小文字を区別しません。しかし、FreeBASIC が動いているファイル・システムでは、大文字と小文字を区別する場合があります。
ヘッダーファイルが見つからない場合は、FreeBASIC が正しい場所を検索しているかどうか、また、
#include 命令文で指定したヘッダーファイルのディレクトリ名とファイル名が正しい大文字と小文字を使っているかどうかを確認してください。
パス分離符
FreeBASIC は、所与のプラットホームの必要に応じて、自動的に、バックスラッシュ(\)と、フォワードスラッシュ(/)文字を、切り換えます。
これは、ソースコードが、相互に互換性があるようにします。
ヘッダーを、一度だけ含める
正しくコンパイルするために、ヘッダーファイルに、他のヘッダーファイルを
#include する必要があるのは、一般的です。
FreeBASIC は、ヘッダーファイルを複数回含まないように保護するために、3つの方法を提供します。
#ifndef は、ヘッダー・ファイルの中で保護します
#ifndef と
#define は、前処理をサポートする、ほぼほとんどの言語で、一般的に使われます。
ファイルが初めて含められるとき、ユニークなシンボルが、定義されます。
次に、同じヘッダーファイルが含まれるときに、シンボルの定義がチェックされます。そして、シンボルが既に定義されているなら、ヘッダーファイルの中身はスキップされます。
'' header.bi
#ifndef __HEADER_BI__
#define __HEADER_BI__
#print These statements will only be included once,
#print even though header.bi might be included more
#print than once in the same source file.
#endif
#include once
ソースコードで、ヘッダーファイルを含める時点で、
#include 指示の
"once" 指定子は、コンパイラに、ソースファイルを一回だけ含めるように伝えます。
'' header.bi
#include once "fbgfx.bi"
'' module.bas
#include once "fbgfx.bi"
#include once "header.bi"
#pragma once
#pragma once は、ヘッダーファイル側で、ヘッダーファイルを一度だけ含めるように示すために、使います。
'' header.bi
#pragma once
#print This header will only ever be included once per module
バージョン:
- fbc 1.10.0 〜, symbol.bi and fblimits.bi are added.
- fbc 1.10.0 より前 (for fbc 1.08.0 and fbc 1.09.0), fbprng.bi was named fbmath.bi.
- fbc 1.08.0 〜, array.bi is added.
- fbc 1.08.0 より前, the standard fbmath.bi header did not exist.
参照: