Hallo , ich habe versucht den FPC zu befragen, aber der gibt nur bei $G und $I was aus...
was genau steuere ich mit den Optionen $H+ bzw $H-
Ich habe auf irgendwelchen Gründen in manchen alten Projekten explizit $H- stehen bei Units wie bei Lazarus Online und FPC Konsolenprogrammen.
Vordergründig ändert sich die EXE Größe. Im Internet habe ich was gelesen zu HEAP-Steuerung und daß man $H- nicht machen soll.
Ich hatte testweise auch wieder unterschiedliche Probleme mit den Codeseiten und Umlauten, das Verhalten von writeln('Hallo ', Änne')
und writeln('Hallo ' + 'Änne') scheint genau umgekehrt bei $H+ und $H- Da ich das Problem aus dem anderen Thread jetzt anscheinend für mich
geklärt habe (wohl sind meine Windows Codepages 850 und 1252 bunt gemischt und vermatscht und außerdem macht mir die Lazarus IDE immer
fröhlich UTF-codierte Quelltextfiles mit den 2Bytes am Anfang), finde ich diesen Rückfall nicht lustig...
Also was hat es mit $H+ und $H- auf sich? Danke
[erledigt] Seltsamer Compiler-Switch $H
[erledigt] Seltsamer Compiler-Switch $H
Zuletzt geändert von alfware17 am Mo 4. Mär 2024, 10:04, insgesamt 1-mal geändert.
-
- Beiträge: 6209
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Seltsamer Compiler-Switch $H
Mit $H- erzwingst du Short-Strings, das sind die alten von Turbo-Pascal, welche 255 Zeichen aufnehmen können.
Bei $H+ ist ein string ein ansistring und bei $H- ist es ein Shortstring.
Oder anders gesagt, man sagt, ob die Stringlänge dynamisch oder statisch ist.
Bei $H+ ist ein string ein ansistring und bei $H- ist es ein Shortstring.
Oder anders gesagt, man sagt, ob die Stringlänge dynamisch oder statisch ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Seltsamer Compiler-Switch $H
Oh verstehe. Und jetzt weiß ich auch wieder wie das bei mir rein kam. Ich wollte absichtlich kompatibel bleiben. Wahrscheinlich wegen Zeichensatz. Ist schon 5 Jahre her. Da ich aber im Dos eh auf pchar umgestiegen bin, kann ich hier ruhig bei Ansistring bleiben. Es sei denn ich handele mir dann erneut ein Umlauteproblem ein. Vielleicht dann im Linux? (noch nicht getestet)
Gibt es weiterhin Probleme mit dem verketten durch + oder für die chr() und copy() Funktionen? Sorry wenn ich so dumme Anfänger Fragen stelle. Aber ich habe nun einen Nachmittag damit zugebracht meine ganzen Units auf mein Ausgabe CP850/1252/UTF Verfahren umzustellen und fand da nur als Nebeneffekt, dass es wieder einem Unterschied gibt, ob ich im writeln mit Komma oder mit plus trenne.
Sollte ich aufhören und.mir ein leichteres Hobby suchen?
Gibt es weiterhin Probleme mit dem verketten durch + oder für die chr() und copy() Funktionen? Sorry wenn ich so dumme Anfänger Fragen stelle. Aber ich habe nun einen Nachmittag damit zugebracht meine ganzen Units auf mein Ausgabe CP850/1252/UTF Verfahren umzustellen und fand da nur als Nebeneffekt, dass es wieder einem Unterschied gibt, ob ich im writeln mit Komma oder mit plus trenne.
Sollte ich aufhören und.mir ein leichteres Hobby suchen?
-
- Beiträge: 6209
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Seltsamer Compiler-Switch $H
Nur wegen diesen paar Buchstaben aufgeben ?Sollte ich aufhören und.mir ein leichteres Hobby suchen?
Ich hatte mich auch zuerst geärgert, das es mit den Zeichen nicht mehr so einfach wie bei Turbo-Pascal war.
Aber unterdessen habe ich gemerkt, das man sich um das gar nicht kümmern muss, dies läuft alles automatisch im Hintergrund ab.
Und wen alle Stricke reissen kann man noch ue, ae und oe nehmen. ZB. in OpenGL.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot