#pragma pack(push,1)
struct mystruct
{
char a1;
char a2;
int a3;
}
#pragma pack(pop)
mystruct mydata()
{
mystruct ms;
ms.a1='a';
ms.a2='b';
ms.a3=12;
return ms;
}
와 MS가 1로 포장한다고 가정하지만, 오늘 누군가가 나에게 말했다 위의 정의에서, MS는 것을 팩은 정의에 영향을 미치지 않지만 선언문에는 4로 포장됩니다. http://msdn.microsoft.com/en-us/library/aa273913%28v=vs.60%29.aspx
내가 한 일이 맞는지 누군가가 명확하게 설명 할 수 있습니까? 이 함수의 몸체 (8.4), 그 가 통근 지정자 (7.1.1)를 포함하거나 지정하지 않고 기능을 선언하지 않는
모든 정의는 선언한다. –
@ n.m. 너 무슨 뜻이야? 당신은 정교 할 수 있습니까? 차이가 없다면 왜 정의와 선언이라고 부릅니까? – mans
@mans 정의는 선언입니다. 모든 선언이 정의는 아닙니다.그리고 나는 당신이 인용 한 man 페이지에서 MS가 무엇을 의미 하는지를 알 수 없다. (하지만,'pack'을 사용할 이유는 전혀 생각할 수 없습니다.) –