standartmakros funktionieren nicht



  • folgender quellcode will bei mir einfach nicht funktionieren.

    #include <stdio.h>
    #include <stdlib.h>
    void eine_funktion(void)
    {
         printf("Name der Funktion: \s",_func_);
    }
    
    int main(void)
    {
        eine_funktion();
        return EXIT_SUCCESS;
    }
    

    das selbe problem hab ich mit _FIlE_,_TIME, ...
    auch die konstanten für Betriebssysteme und compiler funktionieren nicht.
    hat jemand ne idee woran das liegen könnte?
    Ich habe windows 7 64 bit. liegts vllt daran?



  • Ich glaub es waren immer zwei Unterstriche nötig. Die Frage ist halt, in wie weit diese Makros standardisiert sind. D.h. vielleicht gibt es sie garnicht. Die Makros für das entsprechenden Betriebssystem sind z.B. nicht im C-Standard. AFAIK



  • Bei mir heißt das __FUNCTION__ und __FILE__ mit 2 _ vorne und hinten. Keine Ahnung ob das gcc-spezifisch ist.

    BTW du hast ein \ statt % in deinem printf und man schreibt void eigentlich nicht in den Parameter sondern lässt es leer.



  • nwp2 schrieb:

    ...und man schreibt void eigentlich nicht in den Parameter sondern lässt es leer.

    quatsch, das ist z.b. in Java so, aber in C heisst ein einsames 'void' in der parameterliste: keine parameter.
    🙂



  • ok thx, es lag wirklich an den unterstrichen. Jetzt funktioniert alles. __func__ funtioniert genauso wie __FUNKTION__.

    void kann man schreiben oder weglassen.

    Noch eine frage. Kann es sein, dass der dev c++ compiler und der visual c++ kompiler alles auf 32bit kompilieren, oder kompilieren die einfach und das passt dann zum system?? weil der visual c++ compiler gibt immer beim kompilieren ne komische meldung: irgwas mit nem fehler und win32



  • neo47 schrieb:

    weil der visual c++ compiler gibt immer beim kompilieren ne komische meldung: irgwas mit nem fehler und win32

    zeig doch mal die fehlermeldung. ansonsten: benutz einen C und keinen C++ compiler (einfach quelltext in .c umbenennen reicht meist). ach ja, geh mit der frage besser ins compiler oder winapi-forum.
    🙂



  • neo47 schrieb:

    Noch eine frage. Kann es sein, dass der dev c++ compiler und der visual c++ kompiler alles auf 32bit kompilieren, oder kompilieren die einfach und das passt dann zum system?? weil der visual c++ compiler gibt immer beim kompilieren ne komische meldung: irgwas mit nem fehler und win32

    Huhu,

    es wäre sehr hilfreich, wenn du uns mitteilen würdest was der Compiler genau sagt.

    "irgwas" ist nicht genug.

    DevC++ kannst du ruhig in den Papierkorb verschieben. Der ist verbuggt, veraltet und wird seit 5-6 Jahren nicht mehr weiterentwickelt. Alternative: Code::Blocks mit MingW.



  • sunny31 schrieb:

    DevC++ kannst du ruhig in den Papierkorb verschieben. Der ist verbuggt, veraltet und wird seit 5-6 Jahren nicht mehr weiterentwickelt. Alternative: Code::Blocks mit MingW.

    dem DevC kann man bestimmt 'nen aktuellen mingw unterjubeln, aber stimmt schon, code:blocks ist ein wirklich gutes teil.
    🙂



  • ;fricky schrieb:

    dem DevC kann man bestimmt 'nen aktuellen mingw unterjubeln
    🙂

    Auch wahr... :xmas1:



  • Standar_t_, alles klar Alter... 😡



  • ich klicke auf debugging starten, un dann kommt ne meldung mit: projekt veraltet und debug win32

    allerdings bekomm ich am schluss doch eine funktionierende .exe-datei


Anmelden zum Antworten