Fehler, Irrtümer, Fragen - Seite 2503
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was ist also der Fehler?
Sie deklarieren ein Array mit zwei Elementen mit je zwei Bytes und erhalten 4 Bytes, wie es sein sollte. Wo ist die Wanze? Was ist das?
Es geht um Folgendes.
Sie richten es auf 4 aus und 2 Elemente belegen 2*8 Bytes.
Tut mir leid, aber wenn Sie das schreiben, haben Sie das Thema nicht verstanden.
Ähnlich wie bei den Kreuzen:
Der Fehler liegt wahrscheinlich nicht hier?
Es tut mir leid, aber wenn Sie das schreiben, haben Sie das Thema nicht verstanden.
Nein, das scheinen Sie nicht zu verstehen.
Nein, das scheinen Sie nicht zu verstehen.
Das #pragma-Paket aus dem smallmicrosoft-Zeug ist eine sehr merkwürdige Sache (die Art und Weise, wie es jetzt funktioniert, überrascht mich, um ehrlich zu sein). Es überrascht nicht, dass der Standard-Alignas anders funktioniert.
Hier ist mehr:
Das #pragma-Paket der kleinen Softwares ist eine sehr merkwürdige Sache (die Art und Weise, wie es funktioniert, überrascht mich jetzt, um ehrlich zu sein). Kein Wunder, dass alignas in der Norm anders funktioniert.
Komm schon!)
#pragma pack funktioniert auch unter gcc gut, und was du geschrieben hast, ist nur ein internes gcc-Attribut, das anders funktioniert als aligned.
Jetzt komm schon.)
#pragma pack funktioniert auch unter gcc einwandfrei, und was Sie geschrieben haben, ist nur ein internes gcc-Attribut, das anders funktioniert als aligned.
Was zeigt dieses Beispiel also? Dass Sie die Verwendung von Alignas nicht herausgefunden haben? Sogar der Compiler schwört auf den Code:
Das #pragma-Paket ist eine seltsame kleine Softie-Kreation, die gcc nur aus Kompatibilitätsgründen unterstützt.
Was zeigt dieses Beispiel also? Dass du noch nicht herausgefunden hast, wie man Alignas benutzt?
Ich stimme zu, ich habe es vermasselt.
Hier ist der richtige Code.
alignas ist also nicht mit einer Verpackung vergleichbar.
weil in der gleichen gcc (so dass ohne smallsoft) die Standard-Vielfache der Verpackung ist 8
denn:
aber mit alignas(8)
Und beachten Sie, dass dies das Standardverhalten ist, nicht für die Kompatibilität mit Smallmicrosoft
Ich verstehe die Idee nicht. In dem Beispiel ist alles in Ordnung, ich sehe kein Problem. Standard - Strukturausrichtung == die strengste Anforderungsausrichtung unter den Mitgliedern nehmen.
struct {char;} == 1, struct {char;short} == 2, struct {char;int} == 4, usw. Das ist überall so. Und long long == acht, also hat alignas keine Auswirkungen.
Ich verstehe die Idee nicht. Im Beispiel ist alles in Ordnung, ich sehe das Problem nicht.
Ja, Sie haben Recht, das Beispiel ist kein Indikator.
Die Quintessenz ist, dass mql pack als #pragma pack und nicht als alignas funktioniert.