Re: j'aime pas les warnings

Page principale

Répondre à ce message
Auteur: Francois-Xavier Kowalski
Date:  
À: Guilde
Sujet: Re: j'aime pas les warnings
Pierre Pronchery wrote:

> Francois-Xavier Kowalski wrote:
>
>> Pierre Pronchery wrote:
>>
>>> pour eviter le warning tu peux rajouter dans ton fichier source apres
>>> l'include:
>>> int isblank(int c);
>>>
>>
>> Re-declaration manuelle de prototype systeme. Quelle horreur...
>
> Y a un meilleur moyen?



Ya toujours un meilleur moyen que le pire.

> - patcher la libc?
> - re-coder la fonction?
> - utiliser une autre fonction?



Je pense que l'analyse selon laquelle les flags de compilation sont trop
restreints va dans la bonne direction. D'ailleurs je la complete...

#include <ctype.h>
#include <stdio.h>

int main( int argc, char* argv[] )
{
    char toto[] = { ' ', '\t', '\n' };
    int i;


    for( i = 0; i < sizeof( toto ); i++ ) {
        printf( "\"%c\" blank=%d\n", toto[i], isblank( toto[i] ) );
    }


    return 0;
}



1er essai de compil:

[fxk@fuerteventura fxk]> gcc -Wall -Werror isblank.c -o isblank
cc1: warnings being treated as errors
isblank.c: In function `main':
isblank.c:10: warning: implicit declaration of function `isblank'
[fxk@fuerteventura fxk]>


2eme essai, en activant la declaration de toutes les fonctionnalites de
la GLIBC:

[fxk@fuerteventura fxk]> gcc -D_GNU_SOURCE -Wall -Werror isblank.c -o isblank
[fxk@fuerteventura fxk]>


Execution:

[fxk@fuerteventura fxk]> ./isblank 
" " blank=1
"       " blank=1
"
" blank=0
[fxk@fuerteventura fxk]> 



A+

--
Francois-Xavier 'FiX' KOWALSKI