rendre un prog compilable sur plusieurs compilateurs
20 réponses
3dsman
salut!
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais
savoir comment faire pour qu'il soit compilable sur d'autres compilos (
quand j'essaye de de le compiler avec dev c++ ca me met plein d'erreurs
de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas avoir
ce genre de prob?
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais savoir comment faire pour qu'il soit compilable sur d'autres compilos ( quand j'essaye de de le compiler avec dev c++ ca me met plein d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas avoir ce genre de prob?
Il suffit de respecter la norme :)
Il faut faire attention à VC++ qui est moins "sèvère" que d'autres compilos (notamment gcc).
-- nico
3dsman wrote:
salut!
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais
savoir comment faire pour qu'il soit compilable sur d'autres compilos
( quand j'essaye de de le compiler avec dev c++ ca me met plein
d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas
avoir ce genre de prob?
Il suffit de respecter la norme :)
Il faut faire attention à VC++ qui est moins "sèvère" que d'autres compilos
(notamment gcc).
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais savoir comment faire pour qu'il soit compilable sur d'autres compilos ( quand j'essaye de de le compiler avec dev c++ ca me met plein d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas avoir ce genre de prob?
Il suffit de respecter la norme :)
Il faut faire attention à VC++ qui est moins "sèvère" que d'autres compilos (notamment gcc).
-- nico
Fabien LE LEZ
On Sun, 13 Feb 2005 23:04:07 +0100, 3dsman :
en gros la question c'est y a il des truc a connaitre
Oui : le C++. Assure-toi d'avoir un bon bouquin de C++ (i.e. qui ne soit pas un bouquin consacré à VC++).
-- ;-)
On Sun, 13 Feb 2005 23:04:07 +0100, 3dsman <3dsman@free.fr>:
en gros la question c'est y a il des truc a connaitre
Oui : le C++. Assure-toi d'avoir un bon bouquin de C++ (i.e. qui ne
soit pas un bouquin consacré à VC++).
en gros la question c'est y a il des truc a connaitre
Oui : le C++. Assure-toi d'avoir un bon bouquin de C++ (i.e. qui ne soit pas un bouquin consacré à VC++).
-- ;-)
kanze
nico wrote:
3dsman wrote:
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais savoir comment faire pour qu'il soit compilable sur d'autres compilos (quand j'essaye de de le compiler avec dev c++ ca me met plein d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas avoir ce genre de prob?
Il suffit de respecter la norme :)
Si c'était seulement le cas. Si on respecte rigueureusement la norme, sans prendre d'autres précautions, ça ne se compile ni sous VC++ ni sous g++. En fait, la seule façon d'atteindre une dégrée de portabilité, c'est d'avoir beaucoup de compilateurs sous la main, et l'essayer.
Il faut faire attention à VC++ qui est moins "sèvère" que d'autres compilos (notamment gcc).
Et dans les deux cas, le langage qu'il comprend change avec chaque version. Du code écrit pour g++ 2.95 ne marche pas avec g++ 3.4, par exemple, et j'ai endendu dire que c'était pareil entre VC++ 6.0 et 7.1.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
nico wrote:
3dsman wrote:
je suis entrain d'ecrire un soft en c++ avec VC++6 et je
voudrais savoir comment faire pour qu'il soit compilable sur
d'autres compilos (quand j'essaye de de le compiler avec dev
c++ ca me met plein d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour
ne pas avoir ce genre de prob?
Il suffit de respecter la norme :)
Si c'était seulement le cas. Si on respecte rigueureusement la
norme, sans prendre d'autres précautions, ça ne se compile ni
sous VC++ ni sous g++. En fait, la seule façon d'atteindre une
dégrée de portabilité, c'est d'avoir beaucoup de compilateurs
sous la main, et l'essayer.
Il faut faire attention à VC++ qui est moins "sèvère" que
d'autres compilos (notamment gcc).
Et dans les deux cas, le langage qu'il comprend change avec
chaque version. Du code écrit pour g++ 2.95 ne marche pas avec
g++ 3.4, par exemple, et j'ai endendu dire que c'était pareil
entre VC++ 6.0 et 7.1.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
je suis entrain d'ecrire un soft en c++ avec VC++6 et je voudrais savoir comment faire pour qu'il soit compilable sur d'autres compilos (quand j'essaye de de le compiler avec dev c++ ca me met plein d'erreurs de compilation).
en gros la question c'est y a il des truc a connaitre pour ne pas avoir ce genre de prob?
Il suffit de respecter la norme :)
Si c'était seulement le cas. Si on respecte rigueureusement la norme, sans prendre d'autres précautions, ça ne se compile ni sous VC++ ni sous g++. En fait, la seule façon d'atteindre une dégrée de portabilité, c'est d'avoir beaucoup de compilateurs sous la main, et l'essayer.
Il faut faire attention à VC++ qui est moins "sèvère" que d'autres compilos (notamment gcc).
Et dans les deux cas, le langage qu'il comprend change avec chaque version. Du code écrit pour g++ 2.95 ne marche pas avec g++ 3.4, par exemple, et j'ai endendu dire que c'était pareil entre VC++ 6.0 et 7.1.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
3dsman
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop ca marchait et sur la nouvelle version: messages d'erreurs . Et la je pige plus!
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop
ca marchait et sur la nouvelle version: messages d'erreurs . Et la je
pige plus!
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop ca marchait et sur la nouvelle version: messages d'erreurs . Et la je pige plus!
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Ivan Vecerina
"3dsman" wrote in message news:
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop ca marchait et sur la nouvelle version: messages d'erreurs . Et la je pige plus! D'une version à l'autre, des bugs peuvent être corrigées (voire
introduites) dans tout compilateur. En l'occurence, il est probable que le programme utilisait une fonctionalité boguée ou non-standard de l'ancienne version. Le mieux serait sans doute de poster un extrait de code, et d'inclure les premier messages d'erreur.
En pratique, je pense qu'il faut chercher avant tout à écrire du code conforme au standard. Puis faire les adaptations nécessaires pour fonctionner avec les compilos que l'on utilise. Reste aussi que l'on peut choisir d'être plus ou moins aggressif dans l'utilisation des fonctionnalités avancées du C++ (p.ex. spécialisation de templates).
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
Ivan -- http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form Brainbench MVP for C++ <> http://www.brainbench.com
"3dsman" <3dsman@free.fr> wrote in message
news:mn.723b7d52a73277cc.9781@free.fr...
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop ca
marchait et sur la nouvelle version: messages d'erreurs . Et la je pige
plus!
D'une version à l'autre, des bugs peuvent être corrigées (voire
introduites) dans tout compilateur.
En l'occurence, il est probable que le programme utilisait une
fonctionalité boguée ou non-standard de l'ancienne version.
Le mieux serait sans doute de poster un extrait de code, et d'inclure
les premier messages d'erreur.
En pratique, je pense qu'il faut chercher avant tout à écrire du
code conforme au standard. Puis faire les adaptations nécessaires
pour fonctionner avec les compilos que l'on utilise.
Reste aussi que l'on peut choisir d'être plus ou moins aggressif
dans l'utilisation des fonctionnalités avancées du C++ (p.ex.
spécialisation de templates).
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla)
tendent à être très conservateurs quant aux fonctionnalités
utilisées. En voici un exemple:
http://www.mozilla.org/hacking/portable-cpp.html
Clairement, certaines des contraintes imposée ci-dessus sont
handicapantes et inutile si l'on a pour cible de compilos
relativement récents tels que GCC 3.x et MSVC 7.x .
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Brainbench MVP for C++ <> http://www.brainbench.com
ben par exemple j'ai essayer de compiler mon soft sur un vieux kdevelop ca marchait et sur la nouvelle version: messages d'erreurs . Et la je pige plus! D'une version à l'autre, des bugs peuvent être corrigées (voire
introduites) dans tout compilateur. En l'occurence, il est probable que le programme utilisait une fonctionalité boguée ou non-standard de l'ancienne version. Le mieux serait sans doute de poster un extrait de code, et d'inclure les premier messages d'erreur.
En pratique, je pense qu'il faut chercher avant tout à écrire du code conforme au standard. Puis faire les adaptations nécessaires pour fonctionner avec les compilos que l'on utilise. Reste aussi que l'on peut choisir d'être plus ou moins aggressif dans l'utilisation des fonctionnalités avancées du C++ (p.ex. spécialisation de templates).
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
Ivan -- http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form Brainbench MVP for C++ <> http://www.brainbench.com
Olivier Azeau
Ivan Vecerina wrote:
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. ...
Ivan Vecerina wrote:
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla)
tendent à être très conservateurs quant aux fonctionnalités
utilisées. En voici un exemple:
http://www.mozilla.org/hacking/portable-cpp.html
Clairement, certaines des contraintes imposée ci-dessus sont
handicapantes et inutile si l'on a pour cible de compilos
relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions.
Don't use Run-time Type Information.
Don't use C++ standard library features, including iostream
Don't use namespace facility.
...
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. ...
Ivan Vecerina
"Olivier Azeau" wrote in message news: Ivan Vecerina wrote:
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. ...
Je suis bien d'accord que c'est un euphémisme. J'aurais peut-être dû dire "castratrices".
Et j'espère que qqn là-bas va penser à mettre à jour cette guideline à mesure que les compilos sur les plate-formes cibles évoluent.
J'imagine que cette liste rebuttera plus d'un développeur. Mais en comparaison avec le kernel Linux, qui reste en C, et vu la popularité du projet, ils ne doivent pas trop en souffrir.
-- http://ivan.vecerina.com/contact/?subject=NG_POST <- e-mail contact form
"Olivier Azeau" <ransom@xasamail.com> wrote in message
news:1108395215.059593.254310@l41g2000cwc.googlegroups.com...
Ivan Vecerina wrote:
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla)
tendent à être très conservateurs quant aux fonctionnalités
utilisées. En voici un exemple:
http://www.mozilla.org/hacking/portable-cpp.html
Clairement, certaines des contraintes imposée ci-dessus sont
handicapantes et inutile si l'on a pour cible de compilos
relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions.
Don't use Run-time Type Information.
Don't use C++ standard library features, including iostream
Don't use namespace facility.
...
Je suis bien d'accord que c'est un euphémisme.
J'aurais peut-être dû dire "castratrices".
Et j'espère que qqn là-bas va penser à mettre à jour cette guideline
à mesure que les compilos sur les plate-formes cibles évoluent.
J'imagine que cette liste rebuttera plus d'un développeur.
Mais en comparaison avec le kernel Linux, qui reste en C,
et vu la popularité du projet, ils ne doivent pas trop en souffrir.
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- e-mail contact form
"Olivier Azeau" wrote in message news: Ivan Vecerina wrote:
Les projets qui ont un grand souci de portabilité (p.ex. Mozilla) tendent à être très conservateurs quant aux fonctionnalités utilisées. En voici un exemple: http://www.mozilla.org/hacking/portable-cpp.html Clairement, certaines des contraintes imposée ci-dessus sont handicapantes et inutile si l'on a pour cible de compilos relativement récents tels que GCC 3.x et MSVC 7.x .
"Handicapantes", je trouve le terme un peu faible quand je lis cela !
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. ...
Je suis bien d'accord que c'est un euphémisme. J'aurais peut-être dû dire "castratrices".
Et j'espère que qqn là-bas va penser à mettre à jour cette guideline à mesure que les compilos sur les plate-formes cibles évoluent.
J'imagine que cette liste rebuttera plus d'un développeur. Mais en comparaison avec le kernel Linux, qui reste en C, et vu la popularité du projet, ils ne doivent pas trop en souffrir.
-- http://ivan.vecerina.com/contact/?subject=NG_POST <- e-mail contact form
nico
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. Don't use C++
Don't use exceptions.
Don't use Run-time Type Information.
Don't use C++ standard library features, including iostream
Don't use namespace facility.
Don't use C++
Don't use exceptions. Don't use Run-time Type Information. Don't use C++ standard library features, including iostream Don't use namespace facility. Don't use C++
3dsman
Don't use C++ standard library features, including iostream Don't use namespace facility.
heu pourquoi ces deux la? c quoi la justification? y en a une au moin???
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Don't use C++ standard library features, including iostream
Don't use namespace facility.
heu pourquoi ces deux la? c quoi la justification? y en a une au
moin???
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com