prgrammation C/C++

decoris

Membre expert
Club iGen
3 Novembre 2001
6 536
95
Belgique
hello!

j'ai besoin, dans le cadre de mon cours d'info, d'un logiciel permettant de programmer efficacement en C/C++, notamment via makefile automatique, etc...
et de préférence freeware.

j'ai su, sous jaguar et project builder, compiler le bête hello world que voici :

#include <iostream>
int main() {
cout << "Hello world!" << endl;
}

problème : sous panther et xcode, il ne compile pas!!!

j'ai l'erreur suivante :
main.cpp:4: `cout' undeclared (first use this function)
main.cpp:4: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:4: `endl' undeclared (first use this function)

pire, si j'installe les dev tools 2002 sous panther et que j'essaye avec PB, ça ne marche pas non plus!

il faut que je mette std: :cout à la place de cout, et que je vire le endl... bizarre non?

en plus sous panther plus moyen d'utiliser GCC 2.95.2! (il n'y a que 3,1 et 3,3!)

bref, je suis un peu perdu...
 
En bref :

il s'agit plus des différences de comportement entre les versions de GCC inférieures à la 3.X.X et les dernières. Celles-ci sont beaucoup plus strictes sur les namespaces.

La solution a ton problème est effectivement de mettre "std: :cout" et std: :endl à la place de cout et endl.

Tu peux aussi, pour éviter d'avoir à toujours indiquer au compilateur à quoi tu fais référence, utiliser les namespaces en ajoutant

Bloc de code:
 using namespace std;
au début de ton fichier.

Bob
 
merci!

j'ai remis GCC 2.95.2 comme compilateur par défaut dans x-code, et ça marche à nouveau... je préfère avoir le même compilateur que mes profs!

est ce que x-code peut faire un makefile tout seul, pour un projet C++?
 
autre petite question : existe t il une fonction C/C++ qui compte le nombre d'opération effectuée par l'ordinateur lors de l'exécution du programme (le nombre de flops, quoi)

merci!
 
tu peux pas utiliser time
Bloc de code:
 man 3 time
non ?!?
confused.gif
 
decoris a dit:
hello!

j'ai besoin, dans le cadre de mon cours d'info, d'un logiciel permettant de programmer efficacement en C/C++, notamment via makefile automatique, etc...
et de préférence freeware.

j'ai su, sous jaguar et project builder, compiler le bête hello world que voici :

#include <iostream>
int main() {
cout << "Hello world!" << endl;
}

problème : sous panther et xcode, il ne compile pas!!!

j'ai l'erreur suivante :
main.cpp:4: `cout' undeclared (first use this function)
main.cpp:4: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:4: `endl' undeclared (first use this function)

pire, si j'installe les dev tools 2002 sous panther et que j'essaye avec PB, ça ne marche pas non plus!

il faut que je mette std: :cout à la place de cout, et que je vire le endl... bizarre non?

en plus sous panther plus moyen d'utiliser GCC 2.95.2! (il n'y a que 3,1 et 3,3!)

bref, je suis un peu perdu...

g++ -Wno-deprecated -fno-common -O3

heu les gas la vous m'inquietez
 
Quand on installe XCode, on peut lui demander qu'il installe aussi gcc 2.95.2 , il faut aller dans l'installation personalisée.

Après, il suffit de prendre gcc 2.95.2 comme compilateur par défaut. Donc on sait toujours utiliser gcc 2.95.2 dans Panther
sleep.gif
 
non mais ce code ce compile tres bien avec gcc 3
la c'est pas un probleme de compilo mais d'humain