Forum: Mikrocontroller und Digitale Elektronik Precompiler output anzeigen


von Alexxx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

jemand behauptet, ich müsste nur die angefügte Datei durch den Compiler 
laufen lassen, dann würde ich wissen, wie die Typen und Strukturen 
aufgebaut sind.
Wie kann ich den Precompiler mit dieser Datei aufrufen?

Aber so wie ich das sehe, fehlen da die eigentlichen Makrodefinitionen?
Das kann doch garnicht gehen?

Wäre nett, wenn da jemand fachkundiges drüberschauen könnte.
Danke.

von Peter D. (peda)


Lesenswert?

Sieht aus, wie ein .h-File, d.h. es erzeugt weder Code, noch belegt es 
RAM.

Man kann nicht einfach irgendeinen Schnipsel aus einem Programm 
herausreißen und durch den Compiler jagen.

von soso (Gast)


Lesenswert?

Kann man sehr wohl, wenns der Compiler unterstützt. Erstell einfach eine 
eine C-Datei zB und probiere mal beim GCC dies aus.

von Alexxx (Gast)


Lesenswert?

Nein, es erzeugt keinen Code, es soll Datenstrukturen erzeugen.
Aber wie?

Ich sehe nirgends die Makrodefinitionen für:
- MD_Start(...)
- MD_(...)
- MD_End(...)

von DPA (Gast)


Lesenswert?

Alexxx schrieb:
> Wie kann ich den Precompiler mit dieser Datei aufrufen?

Den Präprozessor? Kommt drauf an, einige Möglichkeiten:
 * cpp
 * gcc -E -
 * clang -E -
etc.

> Aber so wie ich das sehe, fehlen da die eigentlichen Makrodefinitionen?
> Das kann doch garnicht gehen?

Ja, kann nicht gehen. Eventuell wird die Datei aber in einer anderen 
Eingebunden, wo diese vorher definiert werden? Dann diese durch den 
präprozessor jagen.

von Peter D. (peda)


Lesenswert?

soso schrieb:
> Kann man sehr wohl

Aber nur, wenn man weiß, was man tut.
In der Regel muß man sich dazu erstmal anschauen, wo und wie dieser 
Codeschnipsel verwendet wird.

von Bernd K. (prof7bit)


Lesenswert?

Alexxx schrieb:
> Aber so wie ich das sehe, fehlen da die eigentlichen Makrodefinitionen?
> Das kann doch garnicht gehen?

Suche die Datei wo der Schnipsel da oben included wird und dann lass die 
durch den Preprozessor laufen.

Oder (bequemere Methode) Du verwendest -save-temps (falls gcc verwendet 
wird, andernfalls siehe doku) um alle Zwischenschritte in Dateien zu 
speichern und kompilierst das ganze Projekt erneut, dann bekommst Du für 
jede Kompilationseinheit unter anderem auch den Output des 
Preprocessors.

--

Wahrscheinlich wird es aber schon klar wenn Du Dich auf die Suche nach 
der Definition von MD_ machst und anschaust zu was das expandiert, wenn 
Du ne ordentliche IDE hast kann die Dir dabei helfen den Überblick zu 
bekommen wo was herkommt, was es ist und wo es verwendet wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.