AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Assembler Files einbinden

Ein Thema von FrEEzE2046 · begonnen am 9. Dez 2009 · letzter Beitrag vom 11. Jan 2010
Antwort Antwort
Seite 4 von 4   « Erste     234   
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#31

Re: Assembler Files einbinden

  Alt 21. Dez 2009, 16:17
So kann das eigentlich gar nicht assembliert werden. In
Code:
FuncBPROC
FuncBENDP
fehlen Leerzeichen. Selbst wenn die drin sind, müssen auf jeden Fahll rets rein (sonst rennt die CPU ins Nirvana). Bei mir läuft dieser Code (assembliert mit ml /c test.asm) ohne Probleme in Delphi5 und Delhi6:
Code:
TITLE Test.asm

.686P
.XMM
.MODEL FLAT


PUBLIC FuncA
PUBLIC FuncB


.CODE FuncA_Code
FuncA PROC
ret
FuncA ENDP


.CODE FuncB_Code
FuncB PROC
ret
FuncB ENDP

END
Deklariert in Delphi als
Delphi-Quellcode:
procedure funca; external;
procedure funcb; external;
{$l test.obj}
  Mit Zitat antworten Zitat
FrEEzE2046

Registriert seit: 25. Aug 2009
27 Beiträge
 
#32

Re: Assembler Files einbinden

  Alt 21. Dez 2009, 16:20
Zitat von gammatester:
So kann das eigentlich gar nicht assembliert werden. In
Code:
FuncBPROC
FuncBENDP
fehlen Leerzeichen. Selbst wenn die drin sind, müssen auf jeden Fahll rets rein (sonst rennt die CPU ins Nirvana). Bei mir läuft dieser Code (assembliert mit ml /c test.asm) ohne Probleme in Delphi5 und Delhi6:
Ja, schon gut. Das habe ich doch hier nur schnell exemplarisch hingehauen.
Der Compiler hätte sonst schon gemeckert.

Das Problem ist derweil aber gelöst:
Und zwar hatte ich dem Delphi-Linker mitgeteilt, dass er bitte C-Objekt-Dateien erzeugen soll. Offensichtlich ist dieses Feature eher unausgereift.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#33

Re: Assembler Files einbinden

  Alt 21. Dez 2009, 16:30
Verstehe nicht ganz was Du machen willst: Der Delphi-Linker soll aus dem ASM/Obj-Files dann C-Obj-Files machen?? (Normalerweiser macht ein Linker keine Obj-Files.)

Wie auch immer: wenn's C bzw. Borland C++ sein soll, muß man wohl die besondere Namenskonventionen von C beachten bzw das Reinmangeln von Parametertypen etc. Dabei kann nun wirklich nicht weiterhelfen; weiß nur, daß es das gibt.
  Mit Zitat antworten Zitat
FrEEzE2046

Registriert seit: 25. Aug 2009
27 Beiträge
 
#34

Re: Assembler Files einbinden

  Alt 21. Dez 2009, 16:44
Zitat von gammatester:
Verstehe nicht ganz was Du machen willst: Der Delphi-Linker soll aus dem ASM/Obj-Files dann C-Obj-Files machen?? (Normalerweiser macht ein Linker keine Obj-Files.)
Also:
Der Fehler lag überhaupt nicht bei meinem Assembler-Code bzw. Object-File, sondern an einer ganz anderen Kannte.
Ich hatte als Linker-Ausgabe (in Delphi) C-Objektdateien gewählt.
Aus irgendeinem Grund scheint dieses Feature aber nicht 100% ausgereift zu seien, da es bei meinem Code Probleme bei der Erzeugung dieser C-Objectdateien gab.

Dies wiederum gab die Fehlermeldung aber in keinster Art und Weiße her, weshalb ich den Fehler in meinem ASM-Code vermutete.
  Mit Zitat antworten Zitat
FrEEzE2046

Registriert seit: 25. Aug 2009
27 Beiträge
 
#35

Re: Assembler Files einbinden

  Alt 11. Jan 2010, 11:18
Delphi treibt mich in den Wahnsinn, daher muss ich diesen Thread noch mal ausgraben.
Habe ein Objekt-File, dass ich mit MASM folgendermaßen kompiliert habe:

ml /c /omf "source.asm"


Das ganze habe ich dann per "{$LINK "Pfad\source.obj"} in Delphi gelinkt und bekomme aber immer die Meldung: "Falsches Dateiformat".
Warum?
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#36

Re: Assembler Files einbinden

  Alt 11. Jan 2010, 13:24
Zitat von FrEEzE2046:
Delphi treibt mich in den Wahnsinn, daher muss ich diesen Thread noch mal ausgraben.
Habe ein Objekt-File, dass ich mit MASM folgendermaßen kompiliert habe:

ml /c /omf "source.asm"


Das ganze habe ich dann per "{$LINK "Pfad\source.obj"} in Delphi gelinkt und bekomme aber immer die Meldung: "Falsches Dateiformat".
Warum?
Was ist das für einen MASM-Version? Alle mir bekannten unterstützen keinen "/omf"-Switch.
  Mit Zitat antworten Zitat
FrEEzE2046

Registriert seit: 25. Aug 2009
27 Beiträge
 
#37

Re: Assembler Files einbinden

  Alt 11. Jan 2010, 16:07
Zitat von gammatester:
Was ist das für einen MASM-Version? Alle mir bekannten unterstützen keinen "/omf"-Switch.
9.0.30729.1
/omf, siehe hier

btw. habe ich in der Vergangenheit ja schon erfolgreich mit MASM32 kompilierte OMF-Objektdateien in Delphi eingebunden. Fragt sich nur, was ich damals anders gemacht habe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz