__declspec

提供: RAD Studio
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動

カテゴリ

修飾子(C++)拡張キーワード記憶クラス指定子(C++)

構文

__declspec(<decl-modifier>)

説明

__declspec キーワードを使用して、変数または関数の記憶クラス属性を指定します。

__declspec キーワードは、宣言文内に柔軟に記憶クラス修飾子を配置できるように、記憶クラス修飾子の属性構文を拡張します。 古い形式の修飾子は修飾される識別子の直前にしか配置できませんでしたが、__declspec キーワードとその引数は、宣言リスト内の任意の場所に配置できます。

__export void f(void);                      // illegal
void __export f(void)                       // correct
void __declspec(dllexport) f(void);         // correct
__declspec(dllexport)void f(void);          // correct
class __declspec(dllexport) ClassName { }   // correct

修飾子

指令 説明 代替表現
__declspec(allocate("SEGNAME")) エンティティが割り当てられるセグメントを指定します。 #pragma codeseg
__declspec(delphiclass) このクラスが TObject から派生したもので、Delphi 互換および VCL 互換でなければならないことを指定します。
__declspec(delphirecord) この構造体が(Delphi コードから自動生成された C++ コード内の)Delphi レコードであることを指定します。
__declspec(delphireturn) この型が関数呼び出しで値渡しが可能なように VCL 互換でなければならないことを指定します。
__declspec(delphirtti) このクラスの public メンバまたは published メンバには Delphi RTTI を生成しなければならないことを指定します。
__declspec(dllexport) 共有ライブラリのビルド時にはこのエンティティをインポートしなければならないことを指定します。 _export、__export
__declspec(dllimport) 共有ライブラリのビルド時にはこのエンティティをエクスポートしなければならないことを指定します。 _import、__import
__declspec(dynamic) この関数が dynamic(virtual と類似)であることを指定します。
__declspec(naked) この関数にはプロローグ コードもエピローグ コードもないことを指定します。
__declspec(hidesbase) このメンバ関数はいかなる基底クラスの同名のいかなる仮想関数とも関係がないことを指定します。
__declspec(noreturn) この関数には戻り値がないことを指定します。 #pragma noretvalC++11 属性 noreturn
__declspec(nothrow) この関数はいかなる例外も送出しないことを指定します。
__declspec(novtable) このクラスの vtable を初期化するコードが生成されないことを指定します。
__declspec(package) このクラス定義はパッケージ内にコンパイルできることを指定します。
__declspec(pascalimplementation) このクラスは Delphi で定義されることを指定します。
__declspec(property) 読み取り/書き込みアクセサの指定されたプロパティを定義します。 __property
__declspec(selectany) このグローバル データは複数のソース ファイルで初期化され、その定義には任意の初期化コードを選択できることを指定します。
__declspec(thread) このエンティティはスレッドに対してローカルであること(スレッド ローカル ストレージ)を指定します。 __thread
__declspec(uuid("ComObjectGUID")) クラスにグローバル一意識別子(GUID)を関連付けるためのものです。

関連項目