Makros in einer Datei auflösen mit CL.exe
-
Nix geht. Die Kommentare sollen ja verschwinden, das meinte ich.
Ich möchte das der Präprozessor meine Makros auflöst und das Ergebnis in irgendeine Datei schreibt, damit ich diese dann weiterverarbeiten kann. Ich führe die Befehlszeile aus, die Datei bleibt aber leer.
-
Meine Antwort reicht für das was Du tun willst vollkommen aus...
Und wenn Du tatsähclich Probleme hast, dann sag bitte WAS Du machst und WAS nicht geht!
-
CL /E /P /DIII#5 C:\Test.txt > C:\Gen.txt
auch probiert
CL /E /P /DIII=5 C:\Test.txt > C:\Gen.txt
Im einfachsten Fall besteht Test.txt nur aus III. Möchte III durch 5 ersetzen.
Gen.txt wird zwar generiert, bleibt allerdings leer.
-
Ich hab zwar keine Ahnung, was Du gemacht hast, aber bei mir gehrt es wunderbar...
test.txt:IIIcl /P /DIII=2 test.txt=>
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. test.txttype test.i=>
#line 1 "test.txt" 2
-
Danke schonmal soweit. Bei mir wird der Präprozessor nicht richtig ausgeführt. Auch keine Fehlermeldung, nix. Bei mir handelt es sich nicht um eine lokale, sondern um eine Netzwerkinstallation von Visual.
Muss deshalb vor dem Aufruf ein
set path=%path%;...
setzen.
Darin wird der Fehler irgendwo liegen.
-
Omnimuk schrieb:
Gen.txt wird zwar generiert, bleibt allerdings leer.
Dass in Gen.txt nix drin steht verwundert nicht, denn Du leitest ja mit >Gen.txt nur die Meldungen des Compilers während der Verarbeitung von test.txt in diese Datei um. Der vom Preprocessor erzeugte Code sollte in test.i stehen.
-
Wird allerdings auch keine test.i generiert.
-
Das einfachste ist, Du versuchst mal mein Beispiel lokal nachzuvollziehen...
-
Hallo,
egal was ich mache, auch lokal funktioniert es nicht.
"Der Befehl 'cl' ist entweder falsch geschrieben oder konnte nicht gefunden werden."
Muss ich hier auch irgendwie den Pfad setzen?
Danke!
-
Start|Programme|Visual Studio 200x|Visual Studio Tools|Visual Studio 200x Command Prompt
Und wenn Du es ohne das machen willst, dann schau Dir an, was dort aufgerufen wird!