#pragma pack () mit push und pop vs entpacken

8

Ich habe dieses Beispielprogramm unter

%Vor%

Ausgabe des obigen Programms ist

%Vor%

Wenn ich nun die Strukturdeklaration wie folgt ändere:

%Vor%

Die Ausgabe des Programms ist

%Vor%

Warum ist dieser Unterschied im Verhalten? Mein Verständnis war, dass beide Strukturdeklarationen dasselbe tun.

Ich betreibe dies auf meinem MBP.

%Vor%     
liv2hak 16.09.2015, 08:30
quelle

1 Antwort

2

Ihr Compiler weiß nichts über unpack() pragma und ignoriert es einfach, so dass die gleichen Packregeln auf beide Strukturen angewendet werden.

MSVC Compiler wird eine Warnung über unbekannte #pragma Direktiven auf der ersten Warnstufe ausgeben.

Sowohl GCC als auch Clang behalten standardmäßig die Stille. Sie müssen -Wunknown-pragmas flag verwenden.

    
Stas 16.09.2015, 08:49
quelle

Tags und Links