2017-05-01 5 views
0

Visual Studioでオブジェクトの宣言に__declspec(align)を使用する方法はありますか?以下のようなSTH:異なるタイプのオブジェクトの宣言に__declspec(align)を使用する方法はありますか

__declspec(align) 
{ 
int p1; 
long p2 
} 

私の質問は__declspec(align) for multiple declarationsに似ています。しかし、この質問は、同じタイプのオブジェクトについてです。

+1

@RemyLebeau:回答セクションでこれを書いて下さい。ありがとうございました。 –

答えて

1

いいえ、このような無関係な宣言のブロックに単一の__declspec(align)を適用することはできません。個々宣言子ステートメントは、独自の__declspec必要があります。

#pragma pack([ show ] | [ push | pop ] [, identifier ] , n ) 
構文

構文

__declspec(align(#)) declarator 
をあなたはおそらく代わりに #pragma packを探している

例えば

#pragma pack(push, 4) 
int p1; 
long p2 
#pragma pack(pop) 

#pragma pack(push, 16) 
float rF[4]; 
float gF[4]; 
float bF[4]; 
#pragma pack(pop) 

/* 
Alternatively: 

#pragma pack(push, 16) 
typedef float floatArray4[4]; 
#pragma pack(pop) 

floatArray4 rF; 
floatArray4 gF; 
floatArray4 bF; 
*/ 
関連する問題