www.mikrocontroller.net

Forum: Compiler & IDEs discards qualifiers from pointer target type


Autor: Matze Klaus (phytomed)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,


folgender Befehl:

Compiling: HeDiWet.c
avr-gcc -c -mmcu=atmega16 -I. -gstabs   -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=HeDiWet.lst  -std=gnu99 -DF_CPU=4000000 
-DUART_BAUD_RATE=9600 -MD -MP -MF .dep/HeDiWet.o.d HeDiWet.c -o 
HeDiWet.o


ergibt folgende Warnungen:

HeDiWet.c: In function 'main':
HeDiWet.c:355: warning: passing argument 1 of 'snprintf' discards 
qualifiers from pointer target type
...
HeDiWet.c:366: warning: passing argument 1 of 'strncmp_P' discards 
qualifiers from pointer target type
...


Die entscheidenden Programmteile:

uart.c:

volatile char uart_buffer[32];


HeDiWet.h

extern volatile char uart_buffer[32];



HeDiWet.c:

#include uart.h
#include HeDiWet.h
char getDATA[] PROGMEM="getDATA\n";

...

snprintf(uart_buffer,20," Aktive Zeit");        // Zeile 355
...
if      (!strncmp_P(uart_buffer, getDATA,7)){   // Zeile 366
...


Es sind doch alles char-Variablen,
es sind auch "nur" Warnungen ...

Tausend Dank
Matthias

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es sind doch alles char-Variablen,

Es geht ja auch nicht um den Datentyp selbst, sondern um den "type
qualifier".  Da es nur drei Qualifier gibt (const, volatile, und
seit C99 restricted), kannst du dir selbst an 3 Fingern abzählen,
worüber er sich beschwert.

Da ja offenbar doch alles funktioniert, braucht's wohl das volatile
sowieso gar nicht für dich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.