次の方法で共有


C 拡張ストレージ クラス属性

Microsoft 固有の仕様 →

このトピックの最新情報は、「__declspec (C++ リファレンス)」を参照してください。

拡張属性構文は、Microsoft 固有の C 言語拡張機能を簡略化し、標準化します。 拡張属性構文を使用するストレージ クラス属性には、thread、naked、dllimport、dllexport があります。

ストレージ クラス情報を指定するための拡張属性構文は、__declspec キーワードを使用します。これは、指定された型のインスタンスを、Microsoft 固有のストレージ クラス属性 (thread、naked、dllimport、または dllexport) で保存することを指定します。 他のストレージ クラス修飾子の例としては、static および extern キーワードがあります。 ただし、これらのキーワードは ANSI C 規格の一部であるため、拡張属性構文では扱われません。

構文

  • storage-class-specifier:
    __declspec ( extended-decl-modifier-seq ) /* Microsoft 固有 */

  • extended-decl-modifier-seq:
    extended-decl-modifier opt

    extended-decl-modifier-seq extended-decl-modifier

  • extended-decl-modifier:
    thread

    naked

    dllimport

    dllexport

空白は、宣言修飾子を区切ります。 extended-decl-modifier-seq は空にできます。この場合、__declspec は無効になります。

thread、naked、dllimport、および dllexport ストレージ クラス属性は、適用先のデータまたは関数を宣言するだけのプロパティです。関数自体の型属性は再定義しません。 thread 属性はデータだけに影響します。 naked 属性は関数だけに影響します。 dllimport 属性と dllexport 属性は関数とデータに影響します。

END Microsoft 固有の仕様

参照

概念

型の宣言