Forum: PC-Programmierung Bitfelder in C++ ,net Framework


von Tom (Gast)


Lesenswert?

Gibts es eine Möglichkeit Bitfelder in einer WindowsForms-Anwendung zu 
benutzen?

ref struct
{
 Byte
  bit1 : 1,
  bit2 : 1;
}bitfeld;

führt zur Fehlermeldung: Bitfelder in verwalteten Typen werden nicht 
unterstützt.

Und wenn man das ref wegläßt gibt es bei der Deklaration
struct bitfeld bitfeld;
Fehler, weil nicht verwaltete Typen, nicht benutzt werden können.

Ich bin im Moment etwas ratlos.
Hat jemand einen Tip für mich?

von Jean Player (Gast)


Lesenswert?

Ausserhalb vom Namespace anlegen, dann geht das soweit ich mich 
errinnere.
Gruß

von Mark B. (markbrandis)


Lesenswert?

Tom schrieb:
> ref struct

Das soll C++ sein?

von Peter II (Gast)


Lesenswert?

beim PC muss man nicht so sparsam sein, das man jedes Bit nutzt. Was 
hast du damit vor?

Wenn es um den Datenaustausch mit einem µC geht, dann würde ich das eh 
kapseln und einen Konverter zwischen PC und µC nutzen.

von Tom (Gast)


Lesenswert?

Vielen Dank für Eure Mühe.

Bitfelder werden offensichtlich vom framework nicht unterstützt. Es gibt 
eine BitArrayKlasse, aber die hat mit dem Bitfeld wie ich es brauche 
nichts zu tuen.
Ja es ist zum Datenaustausch mit einem µc gedacht.

von Peter II (Gast)


Lesenswert?

Tom schrieb:
> Ja es ist zum Datenaustausch mit einem µc gedacht.

Man sollte vermeiden strukturen zwischen verschieden Platformen 
auszutauschen. Was ist wenn das Programm auf dein µC mal geändert wird 
du musst immer dazu 100% kompatibel sein. Es ist besser das 
Übetragungsprotokoll zu definieren und jeder der Rechner wandelt es dann 
von dieser Struktur in das für ihn Passende format um. Eine Struktur die 
auf einem µC sinnvoll ist muss auf einem PC noch lange nicht sinnvoll 
sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.