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
Es wurdeeine Frage zu FileReadArray gestellt, und in der Erklärung habe ich darauf hingewiesen, dass es eine Funktion hat , die den falschen Datentyp liest.
Daher die Frage: Wie passt dieses Merkmal zur Sicherheit der Sprache?
Wenn das in Ordnung ist, warum nicht eine Standardfunktion erstellen, um ein Bitfeld in den richtigen Typ zu konvertieren?
Im Allgemeinen sollte man entweder für Ordnung sorgen und diese Funktion entfernen oder die Leute die lange Arithmetik implementieren lassen.
Hier ist ein Beispiel für diese Funktion anhand einer Wischdatei:
Paranoia entdeckt.
Sie sollten darüber nachdenken.
Ich bin eigentlich dafür, es für sicher zu halten und das Gegenstück ohne Datei, aber direkt zu machen.
Wenn MQ sie jedoch als unsicher erkennt, sollte sie auch aus der Funktion entfernt werden.
ZZZY Übrigens vielleicht habe ich heute wirklich etwas falsch gemacht, ich habe zwei Fragen nicht beantwortet, klären Sie mich auf, zeigen Sie mit dem Finger wo dumm.
Hier ist ein Beispiel für diese Lösung per Datei mit Abwischen der Schraube:
Beim Testen von Crosses gibt es eine genaue Modellierung und andere Kurse für die korrekte Umrechnung von Gewinnen und Margenanforderungen.
Versuchen Sie, die Visualisierung zu starten, und Sie werden sofort verstehen, wie viele Berechnungen auf der Anzahl der Hintergrundzeichen in Marketwatch basieren.
Entwickeln Sie den Gedanken.
Ich bin eigentlich dafür, es für sicher zu halten und das Gegenstück ohne Datei, aber direkt zu machen.
Wenn MQ sie jedoch als unsicher erkennt, sollte sie auch aus der Funktion entfernt werden.
ZZZY Übrigens vielleicht plappere ich heute wirklich etwas nicht richtig, ich habe zwei Fragen nicht beantwortet, Sie klären mich wirklich auf, zeigen mit dem Finger, wo dumm.
Die Datei selbst ist unpersönlich. Es ist nicht bekannt, auf welche Weise diese Datei geschrieben wurde. Mit anderen Worten: Die oben beschriebene Funktionalität kann nicht verboten werden. Natürlich können Sie eine reine Textdatei organoleptisch erkennen, und es gibt einige Probleme mit Unicode und Ansi-Kodierungen.
Sie können also jede Datei nach Belieben lesen. Und es wird zu keiner gefährlichen Situation führen, da die Größe der Lese- (und auch der Schreib-) Zugriffe kontrolliert wird. Sie werden den Stapel nicht aufbrechen können. Sie werden nicht in der Lage sein, auf irgendeine Weise eine Adresse in den Prozessspeicher zu bekommen.
Das kann ich verstehen, aber ein 13,7-facher Geschwindigkeitsunterschied... Nun, 2x ist okay. Und die kindliche Freude, die Geschwindigkeit bei den Eröffnungskursen der Majors zu testen, wurde durch tränenreiche Niedergeschlagenheit bei den Crosses ersetzt. Und anstatt 30 einheimische Remote-Agenten einzusetzen, müssen wir wieder die Cludes bestechen... Abyss!
Die Datei selbst ist eine unpersönliche Datei. Es ist nicht im Voraus bekannt, wie die Datei aufgezeichnet wurde. Mit anderen Worten: Die oben beschriebene Funktionalität kann nicht verboten werden. Es ist natürlich möglich, eine reine Textdatei organoleptisch zu erkennen, und es gibt Nuancen bei Unicode- und Ansi-Kodierungen.
Sie können also jede Datei nach Belieben lesen. Und es wird zu keiner gefährlichen Situation führen, da die Größe der Lese- (und auch der Schreib-) Zugriffe kontrolliert wird. Sie werden den Stapel nicht aufbrechen können. Sie können auf keine Weise eine Adresse in den Prozessspeicher bekommen.
Dann sehe ich keinen Grund, warum man nicht eine direkte Lesefunktion ohne Typkonvertierung einführen sollte, ala
Stecken Sie es in eine Funktion und alles ist sicher.
Dann sehe ich keinen Grund, warum man nicht eine direkte Datenlesefunktion ohne Typkonvertierung einführen sollte, ala
Stecken Sie es in eine Funktion und alles ist sicher.
struct __long { long v; }
__double a; __long b;
a.v=123.456;
b=a;
b.v=4638373815016729713;
nicht schwer.
+ Lesen Sie neben den Top-Links https://www.mql5.com/ru/articles/364
Und die Konvertierung von einem Typ in einen anderen kann entweder mit Makros oder Funktionen erfolgen.
aber es ist nichts wirklich Kompliziertes dabei.