通信用語の基礎知識 全国のICカードこれひとつ 戻る

通常PC用 / 人気 更新 今日 カテ
電子計算機 > 仕様・構造 > ソフトウェア > プログラミング言語 > 言語仕様 > 実装定義
__fastcall
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:アンダースコア-アンダースコア-ファストコール
外語:__fastcall: Fast call
品詞:名詞

x86系プロセッサーにおける、関数の呼び出し規約の一つ。

目次
概要

MicrosoftやBorlandのC/C++コンパイラー、およびBorlandのDelphiコンパイラーなどで対応している。

変数の幾つかは、先頭(左)から幾つかをレジスター経由で渡す。

特徴

引数は、可能な範囲でレジスターで渡される(従って速い)。

x86系はレジスターが少なく、現実には変数のうち2〜3個しかレジスター渡しができないため、fastcallと言うほどの高速化が期待できるのかどうかは謎である。

なお、引数が浮動小数点数または構造体型の場合にはレジスターは使われない。

Microsoft

Microsoft系のC/C++では、次のような特徴がある。

変数の型の特定が必要なため、__fastcallの関数はプロトタイプ宣言が必須である。

Borland

Borland系のC/C++/Delphiでは、次のような特徴がある。

変数の型の特定が必要なため、__fastcallの関数はプロトタイプ宣言が必須である。

つまり、Microsoftの__fastcallとBorlandの__fastcallは互換性がないため、__msfastcallというキーワードが用意されている。

Delphiの場合は標準で__fastcallである。Borland C++BuilderでVCL(Visual Component Library)を使った時は__fastcallだらけになるが、これはDelphiとの互換性のためである。

リンク
用語の所属
呼び出し規約
物質の特徴
__cdecl
__stdcall
__pascal

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic