Unit_8



  • Hi ich habe mir C-Free runtergeladen. Und muss für die Schule etwas mit uint8_t und uint16_t usw. machen.
    leider finde C-Free 4.1 die #include <stdint.h> nicht und sagt immer:
    "[Error] *****\C-Free\Temp\Untitled2.cpp:4: stdint.h: No such file or directory".
    Gibt es für mich trotzdem ne Möglichkeit damit zu arbeiten, oder son QNX ähnliches System aufzusetzen?
    danke und gruss



  • BoosterBey schrieb:

    Hi ich habe mir C-Free runtergeladen.

    wieso nicht VS 2008 Express

    Und muss für die Schule etwas mit uint8_t und uint16_t usw. machen.

    das ist C oder C++ aber kein C++/CLI

    leider finde C-Free 4.1 die #include <stdint.h> nicht und sagt immer:
    "[Error] *****\C-Free\Temp\Untitled2.cpp:4: stdint.h: No such file or directory".

    eigentlich sollte der Compiler für die Standard-Include ein Verzeichnis haben

    Gibt es für mich trotzdem ne Möglichkeit damit zu arbeiten, oder son QNX ähnliches System aufzusetzen?

    VMWare / VirtualBox / VirtualPC / $WHATEVER ... damit umgehst Du aber nur Dein Problem

    hand, mogel



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Entweder besorge dir die stdint.h von irgendwo und binde sie ein oder bau dir die Datentypen selbst mit einem typedef.

    typedef uint8_t unsigned char;
    typedef uint16_t unsigned short;
    #include <assert.h>
    assert(sizeof(uint8_t)==1 && sizeof(uint16_t)==2); //gehe sicher dass wir die richtigen Datentypen haben
    


  • nwp2 schrieb:

    Entweder besorge dir die stdint.h von irgendwo und binde sie ein oder bau dir die Datentypen selbst mit einem typedef.

    typedef uint8_t unsigned char;
    typedef uint16_t unsigned short;
    #include <assert.h>
    assert(sizeof(uint8_t)==1 && sizeof(uint16_t)==2); //gehe sicher dass wir die richtigen Datentypen haben
    

    ^^die typedefs sind verdreht und 'assert' geht auch nicht ausserhalb von funktionen.
    🙂



  • QQ
    Die Idee war doch ungefähr ersichtlich.

    typedef unsigned char uint8_t;
    typedef unsigned short uint16_t;
    #include <assert.h>
    int main(){
        assert(sizeof(uint8_t)==1 && sizeof(uint16_t)==2); //gehe sicher dass wir die richtigen Datentypen haben
        //Restcode
    }
    


  • Ich glaube man sollte doch besser einen gescheiten Compiler gescheit installieren und dann auch gleich noch die Dateiendung *.c verwenden...



  • nwp2 schrieb:

    QQ
    Die Idee war doch ungefähr ersichtlich.

    typedef unsigned char uint8_t;
    typedef unsigned short uint16_t;
    #include <assert.h>
    int main(){
        assert(sizeof(uint8_t)==1 && sizeof(uint16_t)==2); //gehe sicher dass wir die richtigen Datentypen haben
        //Restcode
    }
    

    ^^klar, aber das 'assert' ist hierbei eh für die katz'. wenn einer z.b. signed-typen nimmt, greift es nicht. du brauchst vielleicht sowas:

    #define UNSIGNED_CHECK(type) {type a=-1; assert(a>0);}
    

    *fg*
    besser lass es ganz weg, verlass dich einfach drauf, dass uint8_t 8 bits unsigned ist, das klappt schon.
    🙂



  • ;fricky schrieb:

    ^^klar, aber das 'assert' ist hierbei eh für die katz'. wenn einer z.b. signed-typen nimmt, greift es nicht.

    Das verstehe ich nicht. Klar überprüfe ich nicht ob mein unsigned char auch unsigned ist, aber dafür habe ich doch unsigned hingeschrieben. Ob allerdings short 2 Byte hat, da wäre ich mir nicht so sicher.

    Ansonsten stimme ich Tim zu. Einen richtigen Compiler bzw die richtige Headerdatei benutzen ist sinnvoller als die Dateitypen selber zu bauen.



  • nwp2 schrieb:

    Klar überprüfe ich nicht ob mein unsigned char auch unsigned ist, aber dafür habe ich doch unsigned hingeschrieben.

    ich meinte dein 'assert' mit dem sizeof, das bringt's nicht.

    nwp2 schrieb:

    Ob allerdings short 2 Byte hat, da wäre ich mir nicht so sicher.

    naja, solange uint16_t 16 bits hat und 'unsigned' ist, ist doch alles gut.
    🙂



  • danke erstmal für eure Hilfe werde es dann mal mizt dem VS2008 probieren
    Gruss


Anmelden zum Antworten