Neues Backend angekündigt
Neues Backend angekündigt
Ich weiß ja nicht wie es euch geht, aber das ist definitiv die beste Ankündigung für Purebasic seit, nunja. Es ist nunmal die beste Ankündigung, da kann man gar nichts dagegen sagen.
https://www.purebasic.fr/blog/?p=486
Mit dieser Entscheidung ist mehr oder weniger Support für jede erdenkliche Plattform möglich, und C Compiler wurden von hunderten Menschen über Jahrzehnte stetig optimiert!
Weiters öffnet die einfachere Schnittstelle zu C Libs Welten!
Ich freu mich jedenfalls auf meine ersten Probierereien für die Raspberry Plattform!
https://www.purebasic.fr/blog/?p=486
Mit dieser Entscheidung ist mehr oder weniger Support für jede erdenkliche Plattform möglich, und C Compiler wurden von hunderten Menschen über Jahrzehnte stetig optimiert!
Weiters öffnet die einfachere Schnittstelle zu C Libs Welten!
Ich freu mich jedenfalls auf meine ersten Probierereien für die Raspberry Plattform!
-
- Beiträge: 55
- Registriert: 04.10.2008 12:10
Re: Neues Backend angekündigt
Aus dem Link:
Hat das 'goto' irgendeinen tieferen Sinn, welcher aus dem Code-Beispiel nicht hervorgeht?
Code: Alles auswählen
r=6;
goto end;
end:
return r;
Homer sagt: „In einer Welt die Verrückt spielt, ist nur ein Irrer wahrlich Geisteskrank.“
Re: Neues Backend angekündigt
https://www.purebasic.fr/english/viewto ... 15#p569115
Ich gehe davon aus dass das aus der Übersetzung vom Syntaxast ins C passiert.
Für den, der in Purebasic schreibt und das C Backend verwenden will macht das aber nix - jeder dämliche C Compiler der halbwegs was am kasten hat (gcc gibt es seit Jahrzehnten und wird von hunderten Menschen optimiert.......) optimiert sowas einfach weg.
Ich gehe davon aus dass das aus der Übersetzung vom Syntaxast ins C passiert.
Für den, der in Purebasic schreibt und das C Backend verwenden will macht das aber nix - jeder dämliche C Compiler der halbwegs was am kasten hat (gcc gibt es seit Jahrzehnten und wird von hunderten Menschen optimiert.......) optimiert sowas einfach weg.
Re: Neues Backend angekündigt
Ja, er verwendet vermutlich den gleichen Syntaxbaum. Ich denke nicht, dass nun zwei unterschiedliche Parser im PB-Compiler sind.
Wenn man sich die PB-Compiler-ASM-Ausgabe des gezeigten PureBasic-Codes ansieht, ist zu sehen, dass er es dort auch so macht:
Code: Alles auswählen
; ProcedureReturn 6
MOV rax,6
JMP _EndProcedure1
; EndProcedure
_EndProcedureZero1:
XOR rax,rax
_EndProcedure1:
ADD rsp,48
POP r15
RET
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Re: Neues Backend angekündigt
Wie kann ich mir die ASM Ausgabe anzeigen lassen?
Danke!
Ich fand dies: https://www.purebasic.fr/english/viewtopic.php?t=48298
Danke!
Ich fand dies: https://www.purebasic.fr/english/viewtopic.php?t=48298
Zuletzt geändert von gekkonier am 24.04.2021 21:32, insgesamt 1-mal geändert.
Re: Neues Backend angekündigt
viewtopic.php?f=2&t=25537&start=20
Hier geht es weiter...
Ich bin erstaunt dass ich das im Offtopic nun fand.
Das ist imho die größte Neuerung in der Purebasic Welt.
Hier geht es weiter...
Ich bin erstaunt dass ich das im Offtopic nun fand.
Das ist imho die größte Neuerung in der Purebasic Welt.
Re: Neues Backend angekündigt
Ich bin sogar ziemlich sicher.
Aus
Code: Alles auswählen
Procedure.i gonzo()
If 3 > 2
ProcedureReturn 5
Else
ProcedureReturn 6
EndIf
EndProcedure
gonzo()
Code: Alles auswählen
; Procedure.i gonzo()
_Procedure0:
PUSH r15
PS0=64
XOR rax,rax
PUSH rax
SUB rsp,40
; If 3 > 2
; ProcedureReturn 5
MOV rax,5
JMP _EndProcedure1
; Else
JMP _EndIf1
_EndIf2:
; ProcedureReturn 6
MOV rax,6
JMP _EndProcedure1
; EndIf
_EndIf1:
; EndProcedure
_EndProcedureZero1:
XOR rax,rax
_EndProcedure1:
ADD rsp,48
POP r15
RET
Deshalb wird die Sprungmarke verwendet.
Re: Neues Backend angekündigt
Wenn du eine komfortable Lösung suchst, siehe meine Signatur (Download-Link) und danach im Pfad: PB-CodeArchiv-Rebirth/PB-IDE-Tools/DisplayASMCode.pb (kompilieren und Kommentare im Code lesen).
Genau. Im ASM-Code wäre vermutlich auch möglich gewesen, mehrmals "RET" zu verwenden, anstatt der Sprungmarken - zumindest beim C-Code wäre mehrmaliges "return" möglich.
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
-
- Beiträge: 55
- Registriert: 04.10.2008 12:10
Re: Neues Backend angekündigt
Ah, ok. Danke für die Infos!
Homer sagt: „In einer Welt die Verrückt spielt, ist nur ein Irrer wahrlich Geisteskrank.“