## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### Re: [ct-bot] signed vs. unsigned char

Absender: Benjamin Benz
Datum: Fr, 24.03.2006 11:05:46
In-reply-to: <Pine.BSO.4.63.0603240904390.31736@xxxxxxxxxxxxxxxxxx>
References: <Pine.BSO.4.63.0603240904390.31736@xxxxxxxxxxxxxxxxxx>

    Hallo,

    da ist in der Tat ein Problem. Wir sollten IMHO im Code nur noch Typen
    verwenden, die auf allen Systemen eindeutig definiert sind:

    int8 und uint8
    int16 und unit16

    usw.

    Im bestehenden Code müssten wir dann noch die Stellen finden, an denen
    das noch nicht der Fall ist.

    MfG Benjamin Benz

    Markus Hennecke wrote:
    > Hallo,
    >
    > im Makefile wird der Datentyp für ein char auf unsigned festgelegt. In
    > Eclipse habe ich davon bisher noch nichts bemerkt, also wäre die
    > Standardeinstellung des Compilers aktiv. Das wäre aber ein signed char.
    >
    > Nun haben wir aber in mcu/mouse.c folgenden Code:
    >
    > void maus_sens_writeByte(char data){
    >     char i;
    >     MAUS_DDR  |= MAUS_SDA_PIN;              // SDA auf Output
    >
    >         for (i=7; i>=0; i--){
    >         ...
    >
    > Klar, dass das eine Endlosschleife ist wenn ein char unsigned ist. Der
    > Compiler wirft auch eine entsprechende Warnung und "optimiert" den Code
    > dann zu einer Endlosschleife.
    >
    > Da für den Build per Eclipse dies nicht definiert zu sein scheint sich
    > aber beide gleich verhalten sollten würde ich folgende Änderung im
    > Makefile vorschlagen:
    >
    > --- Makefile.orig       Fri Mar 24 09:09:36 2006
    > +++ Makefile    Fri Mar 24 09:09:58 2006
    > @@ -234,7 +234,7 @@
    >  CFLAGS = -g
    >  CFLAGS += $(CDEFS) $(CINCS)
    >  CFLAGS += -O$(OPT)
    > -CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
    > +CFLAGS += -funsigned-bitfields -fpack-struct -fshort-enums
    >  CFLAGS += -Wall -Wstrict-prototypes
    >  CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
    >  CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
    >
    > Die Codestelle in mcu/mouse.c scheint bisher die Einzige zu sein, die
    > betroffen ist.
    >
    > MfG
    >   Markus
    >
    >
    > ------------------------------------------------------------------------
    >
    > _______________________________________________
    > ct-bot-entwickler Mailingliste
    > ct-bot-entwickler@xxxxxxxxxxxxxxxxx
    > http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler

    --
    Benjamin Benz
    Heise Zeitschriften Verlag
    Redaktion c't
    eMail: bbe@xxxxxxxx
    WWW  : http://www.heise.de

- Antworten:
  - Re: [ct-bot] signed vs. unsigned char
    - From: Fabian Recktenwald

- Referenzen:
  - [ct-bot] signed vs. unsigned char
    - From: Markus Hennecke

- Voriger (Datum): Re: [ct-bot] Patch fuer rc5-codes.h / Conrad FB, Benjamin Benz
- Nächster (Datum): Re: [ct-bot] signed vs. unsigned char, Fabian Recktenwald
- Voriger (Thread): [ct-bot] signed vs. unsigned char, Markus Hennecke
- Nächster (Thread): Re: [ct-bot] signed vs. unsigned char, Fabian Recktenwald
- Indizes:
  - Datum
  - Thread