Momentan fusioniere ich zwei Codes mit dem gleichen Kern, aber sie unterscheiden mit den #defines, was ich brauche, ist einen Weg um sie herum zu wählen und wicth Konfiguration, die ich brauche Laufzeit, der Code verwendet, wenn aktiviert (definiert), um die Konfigurationen zu laden, wie kann ich den Code ändern, damit es funktioniert? DankeNeudefinieren einer #define in C++ zur Laufzeit
-2
A
Antwort
2
Sie können nicht. Makro sind Pre-Prozessor. Sie sind beim Kompilieren weg. Variablen sind die beste Wahl. Übrigens wird diese Frage hier beantwortet.
Verwandte Themen
- 1. Neudefinieren eines aufrufbaren Objekts während der Laufzeit
- 2. Neudefinieren einer Funktion mit einer Vorlage
- 3. Dynamische Erstellung einer C++ - Funktionsargumentliste zur Laufzeit
- 4. Neudefinieren einer Variablen innerhalb einer Schleife
- 5. Erkennen von Bibliotheksfunktionen zur Laufzeit in C
- 6. So erkennen Sie das Betriebssystem in C zur Laufzeit
- 7. C# Override-Methode zur Laufzeit
- 8. ListBox-Elemente zur Laufzeit in C# ändern
- 9. Dynamisch C# Eigenschaften zur Laufzeit
- 10. können Sie Klassenfunktionen zur Laufzeit in C#
- 11. Loading DLLs zur Laufzeit in C#
- 12. C: Compiler-Info zur Laufzeit
- 13. create C# -Projekt zur Laufzeit
- 14. C++ Ressourcen zur Laufzeit ändern
- 15. Erstellen einer Excel-Arbeitsblattfunktion (UDF) zur Laufzeit in C#
- 16. Zeiger in C mit einer #define
- 17. Überprüfen Kernel-Version zur Laufzeit in C
- 18. Create DLL zur Laufzeit in C++
- 19. Maschinencode zur Laufzeit in C-Code einfügen
- 20. Variablenname, Funktionsargumente zur Laufzeit in C
- 21. Einstellung Enumerationswert zur Laufzeit in C#
- 22. C++ loading dylib Funktionen zur Laufzeit Fehler
- 23. #define Verwendung in C/C++
- 24. Neudefinieren einer Let'd-Variablen in Clojure-Schleife
- 25. Ein #define in allen .c-Quelldateien zur Kompilierzeit einbinden
- 26. zur Laufzeit
- 27. Sollte ich C# Formular zur Laufzeit erstellen
- 28. C# Generische Liste zur Laufzeit dynamisch erstellen
- 29. Basisklasse Attribute zur Laufzeit zurückgesetzt C#
- 30. C#, ASP.NET 3.5 - Code zur Laufzeit laden
Sie können nicht. Zu dem Zeitpunkt, zu dem der Compiler mit der Kompilierung Ihres Codes beginnt, gibt es keine Spur von '# define's und anderen Präprozessor-Direktiven in der Quelle. Sie müssen eine andere Strategie herausfinden. – dasblinkenlight
Teeeeetechnisch, einige Ebenen von Debugging-Symbolen lassen Sie sie halten, um eine bessere Debugging-Erfahrung zu ermöglichen :) – chris
Ist es besser, sie als Variablen zu deklarieren und die Abhängigkeiten zu ändern, die diese #defines verwendet? Aber zum Beispiel gibt es viele Vektoren, die sie verwenden, um ihre Größe zu deklarieren, und ich kann nicht einfach eine Vektorgröße mit einem int wie Vektor [int] deklarieren ... –