[TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Hier kannst du häufig gestellte Fragen/Antworten und Tutorials lesen und schreiben.
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

[TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von Mijikai »

Was ist ObjektCode?

ObjektCode (.OBJ) ist vorcompilierter Code der immer wieder verwendet werden kann.
Im Prinzip kann man sich das Ganze wie eine statische Library vorstellen.
(Eine statische Library (.LIB) vereint nur mehreren ObjektCodes.)

ObjektCode Wikipedia:
https://de.wikipedia.org/wiki/Objektcode

Statische Libraries:
https://de.wikipedia.org/wiki/Programmb ... bliotheken

Benötigt:
- FASM https://flatassembler.net/
- Assembly Grundkenntnisse

Wie kann ich ObjektCode mit FASM erstellen?

Beispiel FASM x64:

Code: Alles auswählen

format MS64 COFF
include 'win64a.inc'

public MyMessage
extrn MessageBoxW

proc MyMessage
     sub rsp,40h
     mov r8,rcx
     xor r9,r9
     xor rcx,rcx
     call MessageBoxW
     add rsp,40h
     ret
endp 
PureBasic v.5.60 x64:

Code: Alles auswählen

Import "MyPureBasicOBJ.OBJ"
  MyMessage(Title.s,Text.s)
EndImport

MyMessage("Hallo","Test")
Viel Spass :)
Zuletzt geändert von Mijikai am 11.08.2017 22:32, insgesamt 1-mal geändert.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von bobobo »

hmm

und wenn man OBJtze mit Purebasic direkt bauen könnte?

Z.B. Compilierst Du auf der Commandline mit dem Parameter /COMMENTED

danach die so erzeugte asm mit FASM zum OBJ

Hab aber keine Ahnung ob das taugt...
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von RSBasic »

Hallo Mijikai,

danke für deine Anleitung. :allright:

1. Ist die ausgegebene Obj-/Lib-Datei vergleichbar mit Userlibrary?
2. Kann die ausgegebene Obj-/Lib-Datei, die mit einer älteren PB-Version erstellt wurde, auch mit neueren veränderten PB-Version verwendet werden oder hat man wie bei Userlibs das Kompatibilitätsproblem?
3. Falls es nicht mit Userlibrary vergleichbar ist, wofür braucht man das?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von Mijikai »

Ich glaube nicht, dass man den von PureBasic generierten FASM Code
einfach in ein (brauchbares) .OBJ umwandeln kann.

Aber das ist nur eine Vermutung ich lasse mich gerne eines besseren belehren.

Leider bin ich kein Experte auf dem Gebiet
RSBasic hat geschrieben:...
1. Ist die ausgegebene Obj-/Lib-Datei vergleichbar mit Userlibrary?
2. Kann die ausgegebene Obj-/Lib-Datei, die mit einer älteren PB-Version erstellt wurde, auch mit neueren veränderten PB-Version verwendet werden oder hat man wie bei Userlibs das Kompatibilitätsproblem?
...
Wenn der ObjektCode (rein) mit FASM (wie im Bsp.) erstellt wurde sollte es keine Kompatibilitätsproblem geben.
Zuletzt geändert von Mijikai am 11.08.2017 18:33, insgesamt 3-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von RSBasic »

Hallo Mijikai,

danke für deine Antwort.
Mijikai hat geschrieben:
RSBasic hat geschrieben:2. Kann die ausgegebene Obj-/Lib-Datei, die mit einer älteren PB-Version erstellt wurde, auch mit neueren veränderten PB-Version verwendet werden oder hat man wie bei Userlibs das Kompatibilitätsproblem?
2. Ja
Da meine zweite Frage eine Oder-Frage war, bezieht sich dein Ja auf die erste oder zweite Teilfrage?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von Mijikai »

Sorry war noch am Bearbeiten von meinem Post.
Meine Antwort sollte nun vollständig sein.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von ts-soft »

Mijikai hat geschrieben:ObjektCode (.OBJ) ist vorcompilierter Code der immer wieder verwendet werden kann.
Genauso wie er bereits in den vielen Libraries von PB enthalten ist, mit denselben Abhängikeiten wie sie auch für andere
Libs gelten (z.B. Tailbite-Generierte).

Recht anschaulich :allright: , aber im Grunde nicht für viel Nützlich :mrgreen:
Srod, engl. Forum hat mal entsprechendes Tool zum generieren von statischen Libs erstellt, hat sich aber mehr als Spielerei
herausgestellt und deshalb nicht weiterentwickelt.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!

Beitrag von RSBasic »

ts-soft hat geschrieben:
Mijikai hat geschrieben:ObjektCode (.OBJ) ist vorcompilierter Code der immer wieder verwendet werden kann.
Genauso wie er bereits in den vielen Libraries von PB enthalten ist, mit denselben Abhängikeiten wie sie auch für andere
Libs gelten (z.B. Tailbite-Generierte).
Das beantwortet meine Frage, danke.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten