2017-05-01 2 views
0

Visual Studio에서 많은 객체를 선언하는 데 __declspec (정렬)을 사용하는 방법이 있습니까? Sth like :다른 유형의 객체 선언에 __declspec (정렬)을 사용하는 방법이 있습니까

__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; 
*/