## c't-Projekte - Mailinglisten

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

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

Absender: Markus Hennecke
Datum: Fr, 24.03.2006 09:17:03

    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

- Antworten:
  - Re: [ct-bot] signed vs. unsigned char
    - From: Benjamin Benz

- Voriger (Datum): [ct-bot] rc5_bot_next_behaviour -> Toggle Fehler, Menzel, Frank IT-OO4
- Nächster (Datum): Re: [ct-bot] Patch fuer rc5-codes.h / Conrad FB, Benjamin Benz
- Voriger (Thread): Re: [ct-bot] rc5_bot_next_behaviour -> Toggle Fehler, Benjamin Benz
- Nächster (Thread): Re: [ct-bot] signed vs. unsigned char, Benjamin Benz
- Indizes:
  - Datum
  - Thread