Thread View: de.comp.lang.c++
10 messages
10 total messages
Started by Erik Thiele
Wed, 03 Apr 1996 09:18
Warnings
Author: Erik Thiele
Date: Wed, 03 Apr 1996 09:18
Date: Wed, 03 Apr 1996 09:18
29 lines
1000 bytes
1000 bytes
Hallo !
wie kann ich Warnings selektiv abschalten ?
also ich meine IM CODE !!
und immer nur an einer stelle, nicht global.
wenn zum beispiel kommt:
musplay.C:105: warning: unused parameter `int wieviel'
musplay.C:105: warning: unused parameter `float * mixbuffer'
dann moechte man nicht extra einen unnoetigen
wieviel++;
mixbuffer++;
schreiben, sondern genau DIESE warning an genau DIESER stelle abschalten .
wie macht man das ?
(Linux + GNU C 2.7.0)
merci :-)
tschuesss....
Erik
--
EMAIL: erik@master.unterland.de \\\\
IRC: erikyyy o `QQ'_
/ __8
' `
Re: Warnings
Author: Dietmar Kuehl
Date: Thu, 04 Apr 1996 13:26
Date: Thu, 04 Apr 1996 13:26
35 lines
1591 bytes
1591 bytes
Hi,
Erik Thiele (erik@master.unterland.de) wrote:
: wie kann ich Warnings selektiv abschalten ?
Selbst wenn man es kann, sollte man es nicht tun, sondern lieber den
Grund fuer die Warnung entfernen.
: musplay.C:105: warning: unused parameter `int wieviel'
: musplay.C:105: warning: unused parameter `float * mixbuffer'
: dann moechte man nicht extra einen unnoetigen
: wieviel++;
: mixbuffer++;
: schreiben, sondern genau DIESE warning an genau DIESER stelle abschalten .
Gib dem Argument einfach keinen Namen. Dann ist diese Warnung an
dieser Stelle weg:
int foo(int a, int) { return a; }
Eine Alternative, die man benutzen kann, wenn der Code sowohl mit einem
ANSI-C als auch mit einem C++ Compiler uebersetzt werden soll ist
folgendes:
int foo(int a, int b) { (void)b; return a; }
... aber vermutlich reicht es, den Namen der Variablen wegzulassen.
: (Linux + GNU C 2.7.0)
Meine Antwort geht (naja, sollte gehen) mit allen Compilern.
--
dietmar.kuehl@uni-konstanz.de
http://www.informatik.uni-konstanz.de/~kuehl/
I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: Warnings
Author: Daniel Seuthe
Date: Thu, 04 Apr 1996 22:43
Date: Thu, 04 Apr 1996 22:43
24 lines
1299 bytes
1299 bytes
Hallo Erik,
> wie kann ich Warnings selektiv abschalten ?
[...]
> musplay.C:105: warning: unused parameter `int wieviel'
> musplay.C:105: warning: unused parameter `float * mixbuffer'
[...]
> (Linux + GNU C 2.7.0)
Zum einen laesst sich die Warnung ueber unbenutzte Variablen mit
'-Wno-unused' abschalten, zum anderen kannst du das Variablenattribute
'unused' verwenden:
int zahl __attribute__ ((unused));
Der Nachteil dieser Methode ist, dass sie nicht portabel, weil
GCC-spezifisch, ist.
Daniel
P.S. du solltest auch mal einen Blick in die Doku werfen :)
--
e-mail: D.Seuthe@BBrandes.berlinet.de -- fido: Daniel_Seuthe%2:2410/309.34
Re: Warnings
Author: Erik Thiele
Date: Tue, 09 Apr 1996 08:27
Date: Tue, 09 Apr 1996 08:27
50 lines
1603 bytes
1603 bytes
Hallo!
In article <xZHqqMD4E79asz2@ds01.bbrandes.berlinet.de>,
D.SEUTHE@BBrandes.berlinet.de (Daniel Seuthe) writes:
>> wie kann ich Warnings selektiv abschalten ?
>[...]
>> musplay.C:105: warning: unused parameter `int wieviel'
>> musplay.C:105: warning: unused parameter `float * mixbuffer'
>[...]
>> (Linux + GNU C 2.7.0)
>int zahl __attribute__ ((unused));
hmmm....
ihr habt jetzt 2 postings zu dem problem gemacht, aber beide koennen
die Warning nur entweder global abschalten, oder die Warning loesen.
hmmm. unused variable haette ich auf diese weisen abgeschafft.
aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
es gibt warnings, die kann man nicht abschaffen !
zum beispiel:
function should return a value.
int a()
{
stirb();
};
tja, warum sollte ich hier einen return machen ???
ich hab das so "geloest":
int a()
{
stirb();
#ifdef kickwarn
return 0;
#endif
};
nun gibt es leider aber noch andere warnings... :(
tschuess...
Erik
--
EMAIL: erik@master.unterland.de \\\\
IRC: erikyyy o `QQ'_
/ __8
' `
Re: Warnings
Author: Dietmar Kuehl
Date: Wed, 10 Apr 1996 15:31
Date: Wed, 10 Apr 1996 15:31
38 lines
1990 bytes
1990 bytes
Hi,
Erik Thiele (erik@master.unterland.de) wrote:
: aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
: es gibt warnings, die kann man nicht abschaffen !
Merkwuerdig...? Alle meine C++ lassen sich mit hoechstem Warning-Level
(plus einigen beim g++ extra zu -Wall zuschaltbaren Warnings) auf
mehreren Compilern ohne Warnings uebersetzen (nicht wirklich: In meinem
vorherigen grossen Projekt habe ich einen nicht portablen Konstrukt
verwendet, der genau eine Warning erzeugt, aber das ist auch gut so...).
: zum beispiel:
: function should return a value.
: int a()
: {
: stirb();
: };
: tja, warum sollte ich hier einen return machen ???
z.B. um die Warnung zu vermeiden. Was spricht dagegen ein 'return 0'
einzufuegen? der zusaetzliche "Overhead" von 4 Maschineninstruktionen
mit einem Gesamtvolumen von 16 Bytes?
Es gibt sicher einige Warnungen, die mehr Aufwand machen, sie zu
entfernen: z.B. koennen die Deklarationen in Headerfiles falsch sein
oder die Warnung ist gar berechtigt. IMHO, gibt es keinen Grund
irgendeine (sinnvolle) Warnung auszuschalten. Beim gcc gibt es einige
Warnungen, die auch bei korrektem Code "anschlagen" (etwa bei "if (i =
0) ..."; ob das guter Stil ist eine andere Frage), aber diese will man
typischerweise entweder immer an oder immer aus haben.
--
dietmar.kuehl@uni-konstanz.de
http://www.informatik.uni-konstanz.de/~kuehl/
I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: Warnings
Author: Karl-Heinz Krause
Date: Wed, 10 Apr 1996 17:28
Date: Wed, 10 Apr 1996 17:28
19 lines
913 bytes
913 bytes
Am 9. Apr. 1996 schrieb Erik Thiele (erik@master.unterland.de):
> int a()
> {
> stirb();
> };
> tja, warum sollte ich hier einen return machen ???
Tja, warum definiert man die Funktion denn als 'int', wenn kein Wert
zurückgegeben wird? Warum nicht
void a() {
stirb();
}
Karl-Heinz Krause
Re: Warnings
Author: Ralf W. Stephan
Date: Thu, 11 Apr 1996 13:17
Date: Thu, 11 Apr 1996 13:17
16 lines
1139 bytes
1139 bytes
Dietmar Kuehl writes: > Erik Thiele (erik@master.unterland.de) wrote: > : aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber > : es gibt warnings, die kann man nicht abschaffen ! > Merkwuerdig...? Alle meine C++ lassen sich mit hoechstem Warning-Level > (plus einigen beim g++ extra zu -Wall zuschaltbaren Warnings) auf > mehreren Compilern ohne Warnings uebersetzen (nicht wirklich: In meinem > vorherigen grossen Projekt habe ich einen nicht portablen Konstrukt > verwendet, der genau eine Warning erzeugt, aber das ist auch gut so...). Gehe ich vollkommen einig, auch hier für knapp 10,000 Zeilen Code nur eine Warnung (wg. des const-Verhaltens von gcc). Es gibt einfach ein gutes Gefühl... ralf
Re: Warnings
Author: Guus Leeuw jr.
Date: Thu, 11 Apr 1996 17:45
Date: Thu, 11 Apr 1996 17:45
70 lines
2693 bytes
2693 bytes
Erik Thiele wrote:
>
> Hallo!
>
> In article <xZHqqMD4E79asz2@ds01.bbrandes.berlinet.de>,
> D.SEUTHE@BBrandes.berlinet.de (Daniel Seuthe) writes:
>
> >> wie kann ich Warnings selektiv abschalten ?
> >[...]
> >> musplay.C:105: warning: unused parameter `int wieviel'
> >> musplay.C:105: warning: unused parameter `float * mixbuffer'
> >[...]
> >> (Linux + GNU C 2.7.0)
>
> >int zahl __attribute__ ((unused));
> hmmm....
> ihr habt jetzt 2 postings zu dem problem gemacht, aber beide koennen
> die Warning nur entweder global abschalten, oder die Warning loesen.
>
> hmmm. unused variable haette ich auf diese weisen abgeschafft.
> aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
> es gibt warnings, die kann man nicht abschaffen !
> zum beispiel:
>
> function should return a value.
>
> int a()
> {
> stirb();
> };
>
> tja, warum sollte ich hier einen return machen ???
Warum? Das ist doch wohl klar, oder? Du schreibst eine Funktion die ein
`int' zurueckgibt und Du schreibst nicht was der Wert des `int' sein
soll? Wie ist der Kompiler (und vielleicht besser, die aufrufende
Funktion) zu wissen was zurueckkommt und welche Meinung der Wert hat?
Nur `static' Variabele werden initialisiert, nicht Werte auf dem Stack,
oder dynamisch allokierte Variabele.
> ich hab das so "geloest":
>
> int a()
> {
> stirb();
> #ifdef kickwarn
> return 0;
> #endif
> };
>
> nun gibt es leider aber noch andere warnings... :(
>
> tschuess...
> Erik
>
> --
> EMAIL: erik@master.unterland.de \\\\
> IRC: erikyyy o `QQ'_
> / __8
> ' `
--
'l8r,
Guus
---------------------------------------------------------------------------
They say I'm wild and I'm reckless.
-- Jim Steinman (from the song: Everything louder than everything
else)
---------------------------------------------------------------------------
Re: Warnings
Author: J"oerg P. Berger
Date: Fri, 12 Apr 1996 15:32
Date: Fri, 12 Apr 1996 15:32
38 lines
1132 bytes
1132 bytes
erik@master.unterland.de (Erik Thiele) wrote:
>int a()
>{
> stirb();
>};
>tja, warum sollte ich hier einen return machen ???
>ich hab das so "geloest":
>int a()
>{
> stirb();
>#ifdef kickwarn
> return 0;
>#endif
>};
Ich w"urde daraus ein
void a()
{
strib();
}
machen
Gruss
J"org
-------------------------------------------------------------------------
Joerg P. Berger
Hauptstrasse 111 66904 Bruecken
Fax: ++49 6386-7802 EMail: jpb@guug.de
-------------------------------------------------------------------------
Re: Warnings
Author: Klaus Ebner
Date: Fri, 12 Apr 1996 19:33
Date: Fri, 12 Apr 1996 19:33
15 lines
1071 bytes
1071 bytes
hi, kuehl@uzwil.informatik.uni-konstanz.de (Dietmar Kuehl) schrieb: Beim gcc gibt es einige Warnungen, die auch bei korrektem Code "anschlagen" (etwa bei "if (i = 0) ..."; ob das guter Stil ist eine andere Frage), aber diese will man typischerweise entweder immer an oder immer aus haben. Die kann man fallweise wegbekommen, wenn man stattdessen if( (i = 0) ) schreibt. Nur so am Rande bemerkt. Guter Stil ist das aber trotzdem nicht, imho. -- Gruss Klaus (klaus@gaspode.ndh.com) C4 Fido: 2:2453/30.68
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads