Comment peut-on savoir si une fonction est standard ?
Je suis sous linux. Il faut quoi, dans la partie CONFORMING TO, pour savoir que c'est portable ?
Question bonus : standard <=> portable ?
Version imprimable
Comment peut-on savoir si une fonction est standard ?
Je suis sous linux. Il faut quoi, dans la partie CONFORMING TO, pour savoir que c'est portable ?
Question bonus : standard <=> portable ?
Récupérer la norme ANSI et regarder si ce que tu veux faire est dedans.Citation:
Envoyé par D[r
Concernant la question bonus, la réponse pratique devrait être oui, malheureusement certains compilateurs ne suivent pas a la lettre la norme (ou suive d'ancienne norme) et du coup ce n'est pas totalement vrai
C'est possible de l'avoir sur le Net gratuitement ?Citation:
Envoyé par gl
Nas'
ANSI ?Citation:
Il faut quoi, dans la partie CONFORMING TO, pour savoir que c'est portable ?
Oui...Citation:
Question bonus : standard <=> portable ?
...sauf sur de vieux compilateurs pas à jour avec la norme.
...sauf pour certains caprices.
Par exemple:C'est standard, mais Visual C++ n'en veux pas.Code:
1
2 int tab[12]= {}; for(int i=0 ; ;)
Deux solutions :
* Lire une bonne doc qui informe sur les standard. Ex: Les manpages Linux
http://www.linux-france.org/article/man-fr/ (chapître 3)
Exemple: Fonction cos
Après faut savoir lire tous ces trucs ! Pour moi "POSIX" ça veut dire "ok", et "ISO 9899" ça veut aussi dire "ok".Citation:
SYNOPSIS
#include <math.h>
double cos (double x);
CONFORMITÉ
SVID 3, POSIX, BSD 4.3, ISO 9899
* Utilise un compilo qui respecte les standards. Exemple: GCC
http://gcc.gnu.org/
Tu rajoutes les paramètres "-ansi" (ANSI) voir "-pedantic" (SUPER ANSI). Si ton code passe (pas d'avertissements) avec "-pedantic", les problèmes de portages seront très très limités. Bien sûr, on n'oublie pas d'activer tous les avertissements "-Wall", même si c'est des fois lourd. Surtout si ça n'a pas été activé dès la première compilation.
@+ Haypo
Plus d'info sur GCC dans sa doc :
* Options de compilation pour respecter les standards
http://gcc.gnu.org/onlinedocs/gcc-3....t-Options.html
* Informations sur les standards respectés par GCC
http://gcc.gnu.org/onlinedocs/gcc-3....Standards.html
@+ Haypo