Bonjour,
J'aimerais que l'on m'explique la logique qui se cache derrière les extensions des headers, des fois on a un .h, des fois non....
Merci
Bonjour,
J'aimerais que l'on m'explique la logique qui se cache derrière les extensions des headers, des fois on a un .h, des fois non....
Merci
Bonsoir!
A ma connaissance:
.h ->header en c
.hh -> header en c++ sans template
.hpp -> header en c++ avec template
.c -> source C
.cpp -> source c++
.dll -> lib windows
.so -> lib partage pour linux
.a -> lib statique pour linux
Et pour plus de detail Google m'a donne acces a wikipedia ou j'ai trouve caa:
http://fr.wikipedia.org/wiki/Liste_d...ns_de_fichiers
Bonne lecture.
Merci, et ceux qui n'ont aucune extension?
Il n'y a rien d'imposé. C'est juste une convention qui peut être différente d'une entreprise à l'autre (voire d'un projet à l'autre). Bref pas de règle générique.
Pour les headers, j'ai au moins vu utiliser .h, .hh, .hpp ainsi que .ipp (contenant uniquement des fonctions inlines) et .tpp (définitions de templates). Les headers normalisés pour leur part non pas d'extension du tout.
De même pour les sources C++, pour lesquelles j'ai déjà j'ai rencontré .C, .cpp et .cxx
Salut,
Les fichiers d'en-tête n'ayant pas d'extension sont, par convention, les fichiers d'en-tête de la bibliothèque standard.
Il n'y a, en effet, aucune règle quant aux extensions à utiliser (ce qui ne veut pas dire qu'il n'y ait pas de conventions, hein) en C++, alors que C impose l'utilisation de .h (du moins, il me semble).
Comme il existe de nombreux fichiers dont le nom est sensiblement identique, mais avec un contenu franchement différent (je pense, entre autres, à string(.h) ), il fallait trouver un moyen pour distinguer les fichiers d'en-tête issus de C de ceux issus de C++, et ce, d'autant plus qu'il est plus que probable que les fichiers issus de C soient accessibles au compilateur C++.
C'est la raison pour laquelle les fichiers de la bibliothèque standard C++ n'ont aucune extension et que certains sont préfixés de la lettre C (tels cstdint, cstdio, cstring et bien d'autres) afin d'indiquer qu'il s'agit de l'équivalent de fichiers issus de C![]()
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Bonjour,
Si rien n'impose dans le langage le type d'extension à utiliser, la chaîne de compilation peut elle s'appuyer sur l'extension pour choisir le compilateur à invoquer. '.c' va utiliser préférentiellement le compilateur C, '.cpp', '.cxx', '.C', '.cc' vont utiliser le compilateur C++. Mais là aussi rien d'obligatoire, en général on peut forcer ces comportements par défaut.
Pour un projet, il peut être intéressant de définir au départ les extensions utilisées et leur objectif et de s'y tenir. La cohérence facilite grandement les maintenances et évolutions des projets.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Partager