system
-
system("C:\\TASM32,Hello.asm");TASM32 kann ich ja ohne Probleme aufrufen, aber was muss ich tun damit Hello.asm übersetzt wird?
-
Lass einfach das Komma weg:
system("C:\\Tasm32 Hello.asm ");
Damit wird die Datei Hello.asm übersetzt und eine Objektdatei
mit dem Namen Hello.obj wird in deinem Arbeitsverzeichnis generiert.
Allerdings würde ich die Tasm.exe in das verzeichnis deiner Anwendung schieben und es
a) mit relativem Pfad ausführen
b) die Ausgabe pipen.rya.
Scorcher24
-
leider ist das
system("C:\\Tasm32 Hello.asm ");
nicht die lösung
ich bekomme immer noch kein Hello.obj
-
Also ich benutze selbst den TASM und bei mir funzt das so. Probier mal folgendes:
system("c:\\TASM32 Hello.asm -o c:\\Hello.obj");Gibt denn der TASM irgendwas aus ?? Irgendwelche Fehlermeldungen ?? Bedenke dass die Hello.asm im selben Verzeichnis sein muss wie deine .exe Datei in der du diesen
Aufruf hast. Desweiteren wäre es mal gut zu wissen was für eine Art von Programm du gerade schreibst und die näheren Umstände deines Projektes. Sonst kann man dir leider nicht so toll helfen.rya.
Scorcher24EDIT: theoretisch reicht sogar TASM32.exe Hello, da .asm automatisch angefügt wird.
-
jo danke
, aber wieso muss meine exe in dem Verzeichniss sein????????
Ich dachte es reicht den Pfad anzugeben, gibt es noch eine Möglichkeit die Meldungen die der TA zurückgibt aus dem Dos-Fenster zu bekommen? Und wie gibt man relative Pfade an?
-
Ok wenigstens gehts jetzt...
Grundsätzlich solltest du eigentlich wissen, dass man eine Datei nur anhand ihres Pfades angeben kann, oder sie dann im Arbeitsverzeichnis sein muss.
Das Arbeitsverzeichnis deiner Anwendung ist immer das, in der du es gestartet hast.
Bekommst du bei Konsolenanwendungen über argv[0] raus.
Deswegen musst du entweder den absolzuten Pfad ("C:\\asm\hello.asm") oder den relativen Pfad angeben. Relative Pfade:
angenommen sei ein verzeichnis mit dieser struktur:+ myDir - bin - asmWenn du jetzt im Verzeichnis bin bist und das Verzeichnis asm relativ angeben willst schreibst du:
..\asmda .. immer ein "Link" auf das übergeordnete und . ein "Link" auf das aktuelle Verzeichnis ist.
Das sollte man als HobbyProgrammierer eigentlich wissen...rya.
Scorcher24