www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR prototype warning


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo... kann mir jemand von euch sagen, wie man die warning in WinAVR
abschalten kann, wenn ein prototype fehlt?

Danke und schöne grüße,
Max

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Prototypen deklarieren. ;-) Du bist ja nicht mehr bei C < 1989.

Ansonsten steht's im Manual...  Aber ich denke, Du hast schneller den
Prototypen geschrieben (und Dir damit ohnehin einen Gefallen getan),
als das aus dem GCC-Manual gesucht. :-)

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

das lästige ist, dass ich in meinen ganzen libraries und codes
hinzufügen müsst. und außerdem find ich es beuemer, keinen prototype zu
definieren, denn falls ich was an den übergabeparametern ändere, dann
muss ich es auch im prototype ändern und das ist müsahm :-)
kannst du mir sagen, wo ich dieses manual finda und unter welchem punkt
die unterdrückung der warning steht? (hab schon das ganze WinAVR
verzeichnis durchforstet und nicht das richtige gefunden)

danke,
max

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Programmierstil erscheint mir gruselig, und deshalb habe ich auch
keine Lust, Dir den Namen der Option zu verraten. ;-)

Hast Du nicht neulich schonmal danach gefragt?

Prototypen deklariert man in einer zentralen Headerdatei (für
externe/globale Funktionen), und man deklariert sie nicht, damit sich
der Compiler nicht mehr beschwert, sondern damit der Compiler auch
eine Chance hat, einem zu sagen, wenn man Unfug zusammenprogrammiert.

Für lokale (static linkage) Funktionen kann man auf die Deklaration
von Prototypen meist ganz verzichten, wenn man die Funktion einfach
mit Prototyp definiert und in der Anordnung immer die Definition vor
der ersten Benutzung stehen hat.

"All the world's a Vax, and any integer can be interpreted as a
pointer" war im letzten Jahrtausend.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... sag einfach die option, dann bin ich glücklich. klar richtigerweise
(hab ich auch in der schule so gelernt) sollten oben auch die
prototypes stehen, aber ich möchte nicht meine ganzen codes
aktualisieren müssen.
ja ich habe schon mal gepostet, hab dann nachgesehen, aber nichts
gefunden, deshalt frage ich hier nochal. zuerst hab ich nicht mal
gewusst, dass man diesen "error" abschalten kann.

also danke schon mal und schönen abend,
max

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Max,

überleg Dir das mit den Headerfiles nochmal. Aus eigener Erfahrung kann
ich sagen, dass Fehler bzw. Unterlassen der Prototypen-Definition zu den
widerlichsten Fehlern führen kann. Die Zeit, die Du ziemlich sicher zum
Debuggen brauchst, hast Du besser in die Header investiert.

Übrigens: es ist ja nur eine Warnung, die ich nicht abschalten würde,
weil sie Dich immer wieder auf eine böse Fehlerquelle hinweist. Code
bekommst Du ja trotzdem.

Die Option zum Abschalten kenne ich leider nicht ...

Stefan

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.. also mich würde eigentlich nur interessieren, wie ich genau die
warning abschalten kann - bitte um eine konkrete antwort...

schöne grüße,
max

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

RTFM
man gcc

Matthias

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den tollen hinweis. natürlich hab ich schon in der doc
gesucht, aber nichts gefunden, was mir weitergeholfen hat - deshalb hab
ich ja auch diesen forumeintrag gemacht!

gruß,
max

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab jetzt nochmal genau geschaut und bin auf die zeile "-Wall
-Wstrict-prototypes \" gestoßen. jedoch habe ich keine hanung, wie
ich diese abändern muss, um die warning zu unterdrücken (hab schon
versucht einfach rauszulöschen, hat aber nicht geklappt). kann mir da
jemand weiterhelfen?

danke und schöne grüße,
max

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir bitte jemand weiterhelfen? -  ist ziemlich dringend... denn ich
habe beim jetzigen compiler probleme mit interrupts, die vielleicht bei
der neuen version behoben sind.

danke schon mal und schöne grüße,
max

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
All unsere Hilfe, Deinen <censored> Code lieber zu reparieren,
schlägst Du ja in den Wind.  Was erwartest Du also noch?

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sag Dir, wie Du die Warnungen ausschalten kannst: einfach die Augen
schliessen!
Ich weis auch nicht, warum Du eine Warnung ausschalten möchtest, die
Dir evtl. den Hinweis auf einen Programmierfehler in Deinen
Interruptroutinen liefert...

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bitte einfach nur sagen, wie man diesen fehler abschaltet, denn beim
alten WinAVR compiler tritt er ja nicht auf!! will nur wissen, wie man
ihn abschaltet, dann geb ich auch schon ruhe!

gruß,
max

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grummel

Das ist kein Fehler!

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Och, laß ihn doch.  Der Thread wird langsam langweilig. ;-)

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn ihr mich schon unbedinngt nicht helfen wollt, dann sagt mir
wenigstens, wo ich einen konkreten hinweis darauf finde, denn mir
vergeht's auch schon langsam. - immer nur "ungenaue" antworten, die
mich nicht weiterbringen. - ich dachte ich bin hier in einem Forum?!

max

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast die Antworten doch schon x-mal bekommen:

. fix your code
. read the *** manual

Zu beidem bist Du offenbar nicht in der Lage. :-(

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*** == fine ;)

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jörg
da ich nicht in der lage bin das **** manual zu lese und nicht's
finde, kannst du sicher einen schritt weiter gehen und mir sagen, was
im manual steht (oder herauskopieren etc.), damit ich weis, was ich tun
MUSS.

mex

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Warum willst du den die Warnung auschalten? (Bringt ja nichts)
mfg Marius

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marius
ich will die warning (bei der neusten version von winavr wird es eben
als error angezeigt), weil ich den code sonst nicht compilieren und
testen kann. bei der alten version (ist glaub ich 20040404), bekomme
ich 0 errors.

max

Autor: Jens Kapmeyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Max,
Du hast jetzt schon so oft geschrieben, Deine Libraries müssen ja
riesig sein, sonst hättest Du sie ja stattdessen mit weniger Tipparbeit
schon deine Prototypen eingehämmert ... für einen Unbeteiligten ist der
Thread ein echter Schmunzler, weiter so  :-)

Gruß
Jens

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für einen Beteiligten ist er bloß lächerlich. :-)

Autor: Alexander Höller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir hat der Thread ein nächtliches Lächeln bereitet - Danke ;)

@Max:
Bist dir sicher, dass die fehlenden Prototypes den Fehler verursachen?
Hab grad ne Fkt.-Dekleration einkommentiert und avr-gcc meldet mir nur
ein warning und hat brav weiter gerechnet.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab jetzt überall prototypes eingefürt und beende somit den
thread. danke an die die mir helfen wollten!

gruß,
max

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.