[gelöst] C Makro Problem

  • Hi,


    ich habe in C folgendes Makro definiert, daß mir ein paar initialisierte Variablen anlegen soll:

    Das verwende ich im Code dann so:

    Code
    RTOS_TASK(MainTask, 128, 4);

    und erwarte folgendes Ergebnis:

    Leider wird die Variable MainTaskName falsch initialisiert. Das Makro setzt den Parameternamen des Makros (function) anstelle des übergebenen Parameters (MainTask) ein.

    Code
    static prog_char MainTaskName[] = "function";

    Wie muß ich das Makro verbiegen, sodaß der übergebene Name im initialisiertem String landet?


    Gruß
    e9hack

  • Ich denk mal du meinst stringify


    prog_char function##Name[] = #function; \

  • Zitat

    Original von wirbel
    Ich denk mal du meinst stringify


    prog_char function##Name[] = #function; \


    Genau das habe ich gesucht. Vielen Dank!!


    Ich habe das zeitweilig über einen vierten Parameter gemacht. Nur war das irgendwie unschön.


    Gruß
    e9hack

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!