FreeBASIC は、一般的な、あるいは人気のあるライブラリを使えるように、多くのヘッダーと共に、配布されます。
プログラマは、これらの既存の、静的、あるいは共有ライブラリ(DLL)で利用できる関数を、ヘッダーで指定します。
ライブラリ自体は、FreeBASIC と共に配布されませんが、大部分は、ウェブからダウンロードして、容易にインストールできます。
ライブラリによっては、使うために、最初にソースからコンパイルしなければならないものもあります。
それらのライブラリーを、どう構成して、インストールして、どう使うかに関して、該当の文書を参照してください。
ライブラリのシステム構成は、アプリケーションの構成と一致しなければならないことに注意してください。 たとえば、x86(32ビット)アプリケーションでライブラリを正常に使うには、x86(32ビット)ライブラリが必要です。
静的、あるいは共有ライブラリ(DLL)のいくつかは、FreeBASIC 自身の一部か、オペレーティング・システムの一部として、既にシステム上に存在しているものもあります。
FreeBASIC が使えるいずれのプラットホームでも、多くのヘッダーを使えますが、ヘッダーによっては、プラットホーム特有で、他のプラットホームでは使えない場合があります。
FreeBASIC ヘッダー
FreeBASIC に特有で、FreeBASIC 以外では利用できない機能を提供する、いくつかのヘッダがあります:
- inc/fbc-int/array.bi - 以下の宣言 FbArray (array descriptor structure and access), ArrayLen, ArraySize.
- inc/datetime.bi - 以下の宣言 DateSerial, DateValue, IsDate, Year, Month, Day, Weekday, TimeSerial, TimeValue, Hour, Minute, Second, Now, DateAdd, DatePart, DateDiff, MonthName, WeekdayName.
- inc/dir.bi - Dir と共に使う定数.
- inc/fbgfx.bi - Multikey, Screencontrol, Screenevent, Imagecreate などの描画コマンドとともに使う、追加定数と構造.
- inc/fbio.bi - IsRedirected のための宣言.
- inc/fblimits.bi - 組み込み数値の最小値と最大値の定数。
- inc/fbprng.bi - Constants to be used with Randomize で使われる定数、および他の乱数発生器の未完成の構造体。
- ( fbmath.bi - 上の旧バージョン Randomize で使われる定数で、他の乱数発生器のための構造体でもあります.)
- inc/fbthread.bi - 以下の宣言 ThreadDetach, ThreadSelf.
- inc/file.bi - 以下の宣言 FileCopy, FileAttr, FileLen, Fileexists, FileDateTime.
- inc/fbc-int/symbol.bi - __FB_QUERY_SYMBOL__ とそれに関連するサブマクロの宣言。
- inc/crt/string.bi - format のための宣言.
- inc/vbcompat.bi - datetime.bi, dir.bi, file.bi, string.bi およびマイクロソフト Visual Basic互換の追加定数を含んでいます.
C Runtime (CRT)
可能なところでは、Cランタイム(CRT)に対して、クロスプラットフォーム互換ヘッダーを提供します。
例えば
#include once
"crt.bi"
printf
( !
"Hello World\n" )
特定の CRT ヘッダーを含むには、ヘッダー・ファイルの名前の前に "crt/" を置いてください。
例えば:
#include once
"crt/stdio.bi"
Dim f
As FILE
Ptr
f = fopen
("somefile.txt",
"w")
fprintf
( f,
"Hello File\n")
fclose
( f
)
Windows API
Windows API の多くのヘッダは、FreeBASIC ソースコードに編入して利用できます。
多くの場合、必要なものは、インクルードファイル "windows.bi" だけです。
例えば
特定の Windows API ヘッダーを含むには、ヘッダーの名前の前に "win/" を置いてください。
例えば:
提供される他のヘッダー
FreeBASIC に同梱の追加ヘッダーの概要については、
外部ライブラリ索引 を参照してください。
このページには、ライブラリを使うときに含める必要があるファイルも記載されています。
また、FreeBASIC がインストールされている場所にある "inc/" ディレクトリを参照して、他のヘッダを見つけることもできます。
使う必要があるライブラリで、このヘッダーを利用できる可能性があります。
いくつかのヘッダーは "inc/" にあり、他のヘッダーは、そのサブディレクトリにあります。
"inc/" のサブディレクトリにあるヘッダーを含めるには、ヘッダーの名前の前に、それが置かれているディレクトリの名前を付けます。
例えば:
'' inc/curl.bi に有ります
#include once
"curl.bi"
'' inc/GL/gl.bi に有ります
#include once
"GL/gl.bi"
既成の静的ライブラリを使うための要件
-
ソースコードは、#include を使って、適切なヘッダーを含めなければなりません。
-
静的ライブラリは、コンパイル時に、ソースコードで #inclib を使うか、コマンドラインで -l オプションを使って、ライブラリの名前を指定して、リンクする必要があります。
既成の共有ライブラリを使うための要件
-
ソースコードは、#include を使って、適切なヘッダーを含めなければなりません。
-
共有ライブラリ(.DLL)は、コンパイルしたプログラムが動く、ホストコンピュータ上に存在していなければなりません。
バージョン:
- 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.
参照: