Forum: Mikrocontroller und Digitale Elektronik 4 Compilerwarnungen FreeRTOSv9.0.0


von batman (Gast)


Lesenswert?

Hällö,
in der Annahme daß ich nicht der Erste bin, der beim Kompilieren von 
FreeRTOSv9.0.0 mit avr-gcc diese sieht, wollte ich mal fragen, wie man 
die mit möglichst geringen Nebenwirkungen wegbekommt?

Oder läßt man die einfach so laufen?
1
Source\tasks.c||In function 'prvInitialiseNewTask':|
2
Source\tasks.c|808|warning: cast from pointer to integer of different size|
3
Source\tasks.c|808|warning: cast to pointer from integer of different size|
4
Source\tasks.c|811|warning: cast from pointer to integer of different size|
5
Source\portable\MemMang\heap_1.c||In function 'pvPortMalloc':|
6
Source\portable\MemMang\heap_1.c|132|warning: cast from pointer to integer of different size|

von Rolf M. (rmagnus)


Lesenswert?

Wäre praktisch gewesen, gleich die betreffenden Files anzuhängen. 
Generell ist es selten sinnvoll, Warnungen ohne den Code zu posten, der 
sie ausgelöst hat. Ich hätte mir ja sogar FreeRTOS runtergeladen, aber 
auf der eher unübersichtlichen Webseite konnte ich nur Version 10.0.0 
finden.

Allgemein: Wenn man einen Zeiger in einem Integer speichern will, sollte 
man dafür den Typ intptr_t verwenden. Der ist nämlich genau dafür da. 
Die nächste Frage wäre aber, warum da überhaupt ein Zeiger in einen 
Integer konvertiert wird.

von batman (Gast)


Lesenswert?

Das Problem ist dem Autor bekannt und kommentiert und man könnte es 
durch Abändern der API-Source ändern, das ist keine Frage. Es entsteht 
im Endeffekt durch die hohe Flexibilität des Codes, die man natürlich im 
Einzelfall nicht braucht.

Aus Prinzip möchte ich aber nicht anfangen, an den Originalen 
rumzubasteln. Man könnte die Warnung ignorieren oder im makefile 
abschalten aber vielleicht gehts irgendwie auch begrenzt auf diese 
Fälle, quasi als Ausnahmen von der Regel?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.