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...
 

Bobbus

Membre actif
5 Décembre 2001
146
1
42
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
 

decoris

Membre expert
Club iGen
3 Novembre 2001
6 536
95
Belgique
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++?
 

decoris

Membre expert
Club iGen
3 Novembre 2001
6 536
95
Belgique
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!
 

gerbouille

Membre confirmé
5 Novembre 2003
22
0
Visiter le site
tu peux pas utiliser time
Bloc de code:
 man 3 time
non ?!?
confused.gif
 
P

plumber

Invité
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
 

Couhoulinn

Membre actif
3 Avril 2004
299
4
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
 
P

plumber

Invité
non mais ce code ce compile tres bien avec gcc 3
la c'est pas un probleme de compilo mais d'humain