Aktuelle Zeit: 14.12.2017 18:41

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 15:57 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
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/Programmbibliothek#Statische_Bibliotheken

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

Wie kann ich ObjektCode mit FASM erstellen?

Beispiel FASM x64:
Code:
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:
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.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 17:15 
Offline
jaAdmin
Benutzeravatar

Registriert: 13.09.2004 17:48
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 5.31-3.30(x86) (windoof)7 64 pro
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 18:06 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
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?

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 18:26 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
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.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 18:29 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
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?

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 18:34 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Sorry war noch am Bearbeiten von meinem Post.
Meine Antwort sollte nun vollständig sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 19:39 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
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.61 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 18.3 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [TUTORIAL] ObjektCode in FASM für PureBasic erstellen!
BeitragVerfasst: 11.08.2017 19:42 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
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.

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye