Tool (Reporting, Crossreferenz) gesucht, das Makros nicht auflöst ?



  • vielleicht kann mir hier jemand weiterhelfen.
    Folgende Beispiel:

    int c, d;
    
    #define Circumference c
    #define Diameter  d
    
    int main ()
    {
      printf("Durchmesser eingeben: ");
      scanf("%d", &Diameter);
    
      Circumference = 3.14 * Diameter;
    
      printf("Umfang is %d", Circumference);
    
      return 0;
    }
    

    Der Report meiner IDE (-> Understand) löst Makros immer auf, zeigt also an, dass in main() die Variablen 'c' und 'd' verwendet wird.

    Ich möchte jedoch in einem Report/Cross Referenz Liste sehen sehen, was im Sourcecode der Funktion main() tatsächlich verwendet wird, also in dem gezeigten beispiel die Makros 'Diameter' und 'Circumference'.

    Kennt hier jemand vielleicht ein Tool (OS: Windows 10), das dies kann oder bei dem man einstellen kann, ob Makros aufgelöst werden sollen oder nicht?

    Vielen Dank für jeden Tipp!



  • @tecranovis sagte in Tool (Reporting, Crossreferenz) gesucht, das Makros nicht auflöst ?:

    Kennt hier jemand vielleicht ein Tool (OS: Windows 10), das dies kann oder bei dem man einstellen kann, ob Makros aufgelöst werden sollen oder nicht?

    Was sollte ein solches Tool bei folgendem Code machen?

    #include <stdio.h>
    
    int c, d;
    
    #define Circumference c
    #define Diameter  d
    
    #define CalcCircumference(d) 3.14 * d
    
    int main ()
    {
        printf("Durchmesser eingeben: ");
        scanf("%d", &Diameter);
    
        //Circumference = 3.14 * Diameter;    
        Circumference = CalcCircumference(d);
    
        printf("Umfang is %d", Circumference);
        return 0;
    }
    

    Lies dir mal bitte den Wiki Artikel zu C Präprozessor durch.


Anmelden zum Antworten