pragma wie zustandsautomat?

OP #3190933
Lesenswert?

hallo,

kurze frage...

bei
1
#pragma pack(1)
2
struct1.. 
3

4
struct2..

bezieht sich das pack auf beide strukturen, weil sich der compiler das 
pack merkt (wie bei einem zustandsautomaten eben)... oder gilt das 
packen jetzt nur für struct1... also der nächsten struktur ?

in C natuerlich

danke
Gast #3191013
Lesenswert?

Robert L. schrieb:
> laut dem beispiel dort, ist es solange aktiv, bis ein neuen #pragma pack
> kommte
> (ICH kenne das auch nicht anders, von keiner anderen programmiersprache
> und auch von keiner anderen compilerdirektive...)

gilt es dann aber nur für eine Datei oder die Gesamte 
übersetzungseinheit?

Was ist wenn nach dem #pragma ein include kommt? Das hätte schöne 
auswirkungen wenn in verschiendne Übersetzungseinheiten die Structs eine 
andere größe haben.
#3191214
Lesenswert?

>Was ist wenn nach dem #pragma ein include kommt?

keine Ahnung (ich mag C u.A. deshalb nicht ;-) , wegen der 
"texteditor-ähnlichen" Mentalität von makros/includes usw.

soweit ich weiß, ist ein include "nur" ein dummes hinzufügen von text..

das #pragma sollte/würde also auch im (gesamten) include gelten
(wenn dort drinnen nicht auch ein #pragma pack() steht)

ICH mache (deshalb) die Byte-ausrichtung nur für sachen wo es unbedingt 
notwendig ist,
(also z.b. von extern daten kommen, in diesem format..)
also so wie im beispiel, nur genau für eine struct..

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren