次の方法で共有


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

Microsoft 固有の仕様

ストレージ クラス属性の詳細 up-to-date 情報については、 __declspec (C++ リファレンス) を参照してください。

拡張属性の構文により、Microsoft 固有の C 言語の拡張機能が簡略化され、標準化されます。 拡張属性構文を使用するストレージ クラス属性には、 threadnakeddllimport、および dllexportが含まれます。

ストレージ クラス情報を指定するための拡張属性構文では、 __declspec キーワードを使用します。これは、特定の型のインスタンスを Microsoft 固有のストレージ クラス属性 (threadnakeddllimport、または dllexport) と共に格納することを指定します。 その他のストレージ クラス修飾子の例としては、static キーワードや extern キーワードなどがあります。 ただし、これらのキーワードは ISO C 標準の一部であり、拡張属性構文の対象ではありません。

構文

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

extended-decl-modifier-seq: /* Microsoft 固有の */
extended-decl-modifier 選ぶ
extended-decl-modifier-seq extended-decl-modifier

extended-decl-modifier: /* Microsoft 固有の */
thread
naked
dllimport
dllexport

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

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

Microsoft 固有の仕様はここまで

こちらも参照ください

宣言と型