Bonjour juste être sur des norme c++ suivant les compilateur :
Unix / Linux : posix
Vc++ : ansi
cygwin : posix
mingw : ansi
es que je me trompe?
merci
Bonjour juste être sur des norme c++ suivant les compilateur :
Unix / Linux : posix
Vc++ : ansi
cygwin : posix
mingw : ansi
es que je me trompe?
merci
salut![]()
Déjà, je ne connais pas la norme ainsi![]()
Mais tu dois confondre avec la norme ANSI.
Ensuite, tu oublies plein de compilateur, et puis ce n'est pas aussi simple![]()
Pour le langage C++, il éxiste deux normes :
- une nationale l'ANSI
- une internationale englobant l'ANSI, L'ISO
Ensuite c'est au créateur du compilateur de voir si il la respecte ou pas.
De plus POSIX, c'est différent, fait une recherchepour te renseigner
![]()
??Envoyé par Shugo78
![]()
![]()
en faite c'est pour ces compilateur que je voulais avoir l'info.
Sinon, posix n'est pas une norme?
peut etre que je me trompe sur les mots![]()
POSIX spécifie dans près de 15 documents différents les interfaces utilisateurs et les interfaces logicielles. La ligne de commande standard et l'interface de script est le Korn shell. Les autres commandes, services et utilitaires comprennent awk, echo, ed, et des centaines d'autres. Les services d'entrées/sorties de base (fichiers, terminaux, réseau) doivent être présents (pour les spécifications POSIX sur les attributs de fichiers, voir Spécifications POSIX sur les attributs de fichiers). POSIX définit aussi une API standard pour les bibliothèques de threading qui est prise en charge par la plupart des systèmes d'exploitation récents.
Mais ça n'a pas trop de rapport avec le C/C++![]()
Je t'ai vu écrire ainsi, de toute façon c'est marqué que tu as modifié ton message après mon intervention, avoueEnvoyé par Mongaulois
![]()
ANSI est l'équivalent américain de l'AFNOR.
Le C++ a été normalisé par l'ISO (et la norme a été reprise par les organismes nationaux comme l'AFNOR et l'ANSI). Parler de C++ ANSI est signe d'une vision du monde centrée sur les US (pour le C, l'histoire est un peu différente; le C a d'abord été normalisé par l'ANSI en 89, l'ISO a repris cette norme légèrement modifiée en 90; ensuite la norme a eu des révisions dans le cadre de l'ISO en 95 et en 99).
POSIX est le nom d'une norme de l'IEEE sur les OS (si j'ai bonne mémoire, la dernière version a été reprise par l'ISO mais je peux me tromper) qui décrit entre autre une interface C (pas C++) vers certaines fonctionalités de l'OS. Il n'y a pas de rapport direct entre le C++ et POSIX.
Je dirai plutôt dans le sens inverseEnvoyé par Jean-Marc.Bourget
![]()
ok.
si j'ai bien compris,
ansi : norme du language c / c++
posix : norme sur les interactions avec le système (gestion des threads, lecture ecriture fichier, shell ...).
Du coup en reposant la question autrement et en simplifiant fortement le problème :
vc++ : interactions système non posix
g++ et cygwin : interactions système plustôt posix
g++, mingw et msys : interactions système non posix
g++ : depend du système
et
api unix / linux : posix
api windows : non posix
ou alors j'ai rien compris
et une dernière question,
on peut faire du code qui est à la fois ansi et posix??
je croyait que c'ètait imcompatibleet maintenant je ne voit plus pourquoi
mais bon comme je me suis mélangé les pinceaux ...![]()
POSIX étant plus ou moins un superset d'ANSI, on peut faire des programmes respectant les deux nombres.
Ou, en termes ensemblistes: L'ensemble des programmes compatibles ANSI et celui des programmes compatibles POSIX ne sont pas disjoints, et il est possible (mais je ne suis pas 100% certain) que le premier soit inclu dans le second.
Pour le reste de tes conclusions, je ne vois rien qui me choque particulièrement.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Tu as compris![]()
@Médinoc : En effet, POSIX "emprunte" beacoup a l'ANSI mais je suis pas sur que cela l'englobe totalement![]()
Si, la persistance à utiliser ANSI alors que la norme a été élaborée par l'ISO dans un processus international.Envoyé par Médinoc
POSIX a un cadre beaucoup plus large. En ce qui concerne l'interface de programmation, POSIX est un surensemble de la bibliothèque du C ISO (ANSI a normalisé le C en 89, ISO a repris cette norme en 90 et l'a modifié en 99). On trouve d'ailleurs souvent:Envoyé par Médinoc
POSIX n'a aucun rapport avec le C++; il n'y a même pas de binding officiel POSIX pour le C++ (alors qu'il y en a un pour Ada. En pratique, on utilise sans beaucoup de problème l'interface C, mais les problèmes ne sont pas inexistants (deux sources évidentes de problèmes: les threads et les exceptions; tous les systèmes POSIX n'interagissent pas avec le C++ exactement de la même manière sur ces points même si les différences sont parfois subtiles).Envoyé par POSIX
Partager