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% 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.