- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: Was fuer "großes" Bit ist das denn ??????

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.02.2005
    Ort
    Erlangen
    Alter
    39
    Beiträge
    88
    Meine printf Anweisung war nicht ganz legitim in ANSI-C. (http://stackoverflow.com/questions/8...egal-in-ansi-c)

    Ich habe mal das Programm selber geschrieben und mit dem GCC compiliert. Bei mir funktioniert alles wie es soll:

    PHP-Code:
            struct
        
    {
            
    int a 2;
        } 
    TestStruct;
        
    TestStruct.3
    De Code wird ohne Fehler compiliert. Dieser Code:

    PHP-Code:
            struct
        
    {
            
    int a 2;
        } 
    TestStruct;
        
    TestStruct.4
    liefert die Compiler-Warnung:

    main.c:21: warning: overflow in implicit constant conversion

    Mfg Moebius

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    31
    Beiträge
    656
    Also liegt es doch am Compiler.

    *(char*)(&bits) = 127;

    Casten ist die einzige Möglichkeit, ein Bitfeld zu konvertieren, sonst geht es über Unions, wie du es schon gemacht hast. Ich bin mir nicht sicher, ob es auch so geht: (char)(bits)
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Moebius,
    danke, daß Du es mal ausprobiert hast mit dem GCC. Bei meinem IAR-Compiler gibt es aber leider kein Warning. Ich weis auch nicht annähernd, wo man bei der IAR Embedded Workbench einen Warninglevel einstellen könnte. In den Hilfen von IAR habe ich auch nichts gefunden. Sehr merkwürdig.

    Ich habe mal eben diverse Kuriositäten mit dem NXP LpcXPresso ausprobiert, dieser basiert wohl auf dem GNU Compiler, Oberfläche Eclipse.
    Und siehe da, dort werden all meine Probleme einwandfrei erkannt und angemeckert. Zudem habe ich dort schnell gefunden, wo man den Warning-Level einstellen kann.
    Wieso geht das nicht mit dem IAR-Compiler ?

    Kann mir irgend jemand sagen, wie oder wo man den Warning Level bei der IAR Embedded Workbench einstellen kann ????
    Oder geht das evtl. nicht, weil ich keine Vollversion habe nur das Kickstart ?

    Danke Euch Siro
    Geändert von Siro (11.03.2011 um 11:24 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress