OVH Cloud OVH Cloud

Qualité du compilateur C++ 5.5 de borland

41 réponses
Avatar
Seb
Bonjour,

Utilisez-vous le compilateur de Borland C++ 5.5. Je l'ai téléchargé hier et
j'avoue être énormément déçu depuis que je l'ai :-(

J'ai fait une petite recherche sous google/forums et j'ai pas vu de feed
back de cet outil.

Sébastien

10 réponses

1 2 3 4 5
Avatar
Fabien LE LEZ
On 24 Oct 2003 01:29:31 -0700, wrote:

Mais c'est la norme C++ qui l'intéresse, donc C90. Je n'en a
malheureusement pas une copie ici pour vérifier, mais c'est toute à fait
possible qu'elle le permet.


Elle le permet peut-être, mais en prédit-elle le résultat ?

--
http://www.giromini.org/usenet-fr/repondre.html

Avatar
Fabien LE LEZ
On Fri, 24 Oct 2003 12:06:58 +0200, Laurent DELEPINE
wrote:

*reinterpret_cast<int*>(0x0012FF7C) = 5;
std::cout << toto << std::endl;


Il affiche 0 avec Borland C++ 55


Pas normal ca. Ce devrait planter sur un veritable OS.


Pas forcément, si 0x0012FF7C fait partie de l'espace d'adressage de
l'application. Si ça se trouve, cette adresse est l'adresse d'une
autre variable.
--
http://www.giromini.org/usenet-fr/repondre.html



Avatar
Fabien LE LEZ
On Fri, 24 Oct 2003 09:21:23 +0200, "Seb"
wrote:

Et bien si à partir d'un nom tu dois générer un fichier qui est dans
"NOM/NOM"


Perso, je l'aurais écrit en C++.
Mais même en C, utiliser la même variable pour deux trucs différents
me paraît douteux.

--
http://www.giromini.org/usenet-fr/repondre.html

Avatar
Fabien LE LEZ
On Thu, 23 Oct 2003 22:02:14 +0200, Loïc Joly
wrote:

ajouter le code source de tetris à ton
appli


Ça serait marrant, de trouver un compilo qui fasse ça ;-)

--
http://www.giromini.org/usenet-fr/repondre.html

Avatar
Mickael Pointier
[...]
Mais enfin, vue qu'il s'agit d'un compilateur C++, pourquoi pas écrire
simplement :

std::string c( "toto" ) ;
std::ostringstream tmp ;
tmp << c << c ;
c = tmp.str() ;

Là, on est sûr que ça marche.


Ca ne marcherait pas ca ??:

std::string c( "toto" ) ;
c = c+c;

Ca me semble un chouilla plus simple :)

Mike

Avatar
Fabien LE LEZ
On Fri, 24 Oct 2003 14:51:57 +0200, "Mickael Pointier"
wrote:

std::string c( "toto" ) ;
c = c+c;


Voire même c+=c; tant qu'à faire ;-)

--
;-)

Avatar
Mickael Pointier
Fabien LE LEZ wrote:
On Fri, 24 Oct 2003 14:51:57 +0200, "Mickael Pointier"
wrote:

std::string c( "toto" ) ;
c = c+c;


Voire même c+=c; tant qu'à faire ;-)


J'attend celui qui n'aura pas suivit le thread qui proposera ca:

std::string c( "totototo" ) ;

=)

Mike


Avatar
Fabien LE LEZ
On Fri, 24 Oct 2003 15:33:24 +0200, "Mickael Pointier"
wrote:

J'attend celui qui n'aura pas suivit le thread qui proposera ca:

std::string c( "totototo" ) ;


Y'a aussi ça, en PHP :
$c= "toto";
$c = "$c$c";

--
;-)

Avatar
Fabien LE LEZ
On Fri, 24 Oct 2003 10:51:27 +0200, "Seb"
wrote:

Je pensais naivement que le sprintf (et donc le strcat) gérait ces problèmes
: c'est très bon à savoir.


Ben non, ces fonctions sont très proches du système, et ne gèrent pas
grand-chose par elles-mêmes.
Pour le traitement des chaînes de caractères, C++ est nettement plus
agréable que C.

--
;-)

Avatar
Loïc Joly
Seb wrote:

Et bien si à partir d'un nom tu dois générer un fichier qui est dans
"NOM/NOM" : j'aurais aimé que mon sprintf(c, "%s/%s", c, c); fonctionne.
Mon résultat est "/".


En C (perso, j'aurait écrit en C++) :
sprintf(fileName, "%s/%s", name, name);

Encore une victoire aux noms clairs pour les variables !

--
Loïc

1 2 3 4 5