Hallo ich habe bis jetzt nur nasm Files unter Linux kompiliert. Jetzt habe ich mir Nasm unter Windows 7 64Bit installiert und komm zu keiner Wirklichen ausführbaren Datei.
nasm dateiname.nasm -f bin -o dateiname.exe --> kommt nix gescheites heraus
Kann mir jemand sagen wie ich Ausführbare exe Dateien erstellen kann welche only 64Bit sind oder halt 32Bit und auch unter 64Bit laufen?
Steht im Wesentlichen im NASM Manual, section 1.1.1.
...
Ist in Microsofts Welt klassischerweise nicht ganz so intuitiv:
Um exe-Dateien erstellen zu koennen, musst du zunaechst eine objekt-Datei erzeugen (zB. mit "-f win32" oder "-f win64" fuer 32- oder 64Bit-Windows-Objekt-Dateien) und daraus dann mittels Linker (und zusaetzlichen Libs oder dll-Listen - je nach Linker) eine .exe-Datei. Jeder aktuelle Linker, der Windows-Programme erstellen kann, sollte irgendwo auch mit 64Bit-Objs klar kommen.
Hast du ansonsten ueberhaupt schon eine Ahnung, wie du an das Schreiben von Windows-Programmen mit der WinAPI und ihren ganzen dlls herangehst?
Also einfach nasm dateiname.asm -f win64
anschließend dann die obj datei mit nem linker wie alink linken?
weil mit nasm dateiname.asm -f win64 bekomme ich immer nen fehler....
Bist du "RGEE"?
Wusste doch, dass mir die Frage bekannt vorkommt.
Mit der beschriebenen Methode kannst du zwar 32- oder 64Bit-Windows-Obj-Dateien und damit via Linker auch .exe-Programme erzeugen, aber wie ich bereits erwaehnte, brauchst du dafuer auch extra fuer 64Bit Windows geschriebene Quellcodes. Ich kenne kein Anfaengertutorial, das solche Quellcodes behandelt.
Alink wurde AFAIK vor 10 Jahren das letzte mal aktualisiert... Vielleicht solltest du dich fuer 64Bit-Programme nach einem aktuelleren Linker umsehen. Ich verwende fuer meine ASM-Spielereien im Moment ganz gern den GoLink Linker von GoAsm (funktioniert natuerlich auch mit von nasm erstellten Objs).
Danke für die Antwort, aber nein ich bin fr33g ;-) und nicht RGEE
Ja die Frage kann dir durchaus bekannt vorkommen, da ich so eine ähnliche ja stellte bzw glaube sogar die gleiche.
Aber dachte wenn hier nen thread offen ist kann ich ja hier nochmal nachfragen, weil es eben hier so rüber kam als wie man mit -f win64 das Problem lösen kann ohne extra für 64 bit zu schreiben.
Aber jetzt wurde ich ja eines besseren belehrt;-)
Gruß freeG
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.