__fastcall |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:アンダースコア-アンダースコア-ファストコール |
外語:__fastcall: Fast call |
品詞:名詞 |
|
概要 |
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との互換性のためである。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |