PDA

Afficher la version complète : [c] Hello World



lucienmathieu
13/10/2004, 15h00
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif L'edition


~> vi helloworld.c

http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif Le code


#include <stdio.h>

main() {
printf("Hello World!\n");
}la ligne #include <stdio.h> vas inclure le fichier stdio.h des definitions des structures et fonctions pour les standards d'entrees et de sorties. Ce fichier se trouve dans le repertoire /usr/include sous linux.
main est la fonction principale d'un programme, cette declaration de fonction est obligatoire pour creer un programme.
printf est une fonction de sortie vers la ligne de command (le prompt), dans notre cas, on affichera Hello World!http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif la compilation


~> gcc -o helloworld helloword.c

http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif l'execution


~> ./helloworld

[lm01]

devloop
13/10/2004, 15h12
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif
heu utilisez pas Vi si vous ne vous etes pas documenté sur ce logiciel avant (y'en a qui vont faire un Ctrl+S pour sauver, ils vont pas comprendre pourquoi Vi bloque)

sinon pour programmer en C sous Vi, deux commandes utiles :
:set cindent (pour l'indentation C)
:set sw=2 (décalage de 2 caractères lors de l'indentation)

molodoi
13/10/2004, 15h18
j'aurais plutôt vu ça sous un éditeur plus simple, comme Emacs...

Pcq bon, vi, pour celui qui n'a pas l'habitude, c'est prise de tête http://www.alionet.org/style_emoticons/<#EMO_DIR#>/bang.gif

lucienmathieu
13/10/2004, 17h42
ils peuvent utiliser kwrite aussi ;-P
J'aime bien mon vi moi, pourquoi changer...
Bon je vais faire un topic vi alors... mais ou je peux le mettre?

molodoi
14/10/2004, 09h54
tutorial, oeuf course http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

lucienmathieu
14/10/2004, 13h28
C'est bon, j'ai fait un petit tuto...

atlas
28/10/2004, 20h53
<div class='quotetop'>Citation </div>
la ligne #include <stdio.h> vas inclure le fichier stdio.h des definitions des structures et fonctions pour les standards d'entrees et de sorties.[/b]

En tant que newbie comment pouvais-je savoir que le fichier stdio.h inclue les en-têtes des fonctions d'entrée sortie ?
J'ai lu sur un autre tuto que le fichier iostream.h a aussi cette meme fonction sur les entrées sorties(et donc encore une fois comment pouvais-je le savoir) ?

Sur quel support dois-je travailler pour déterminer quel fihier xxxx.h serait susceptible de m'interresser (because y a pas que les entreé-sorties en programmation) ?

http://www.alionet.org/style_emoticons/<#EMO_DIR#>/arrow.gif

devloop
29/10/2004, 11h38
stdio.h c'est pour le C
iostream.h pour le C++

sinon si tu fais un 'man nom_de_la_fonction' il est indiqué quel entete il faut inclure pour utiliser la fonction en question

lucienmathieu
29/10/2004, 12h01
Mais tu peux aussi utiliser stdio.h dans le C++, ce n'est pas défendu, par contre pour utiliser le C++ et pourvoir le compiler, il faudra ajouter la librairie C++ comme suis par exemple:

gcc -lstdc++ -o test main.cpp

atlas
29/10/2004, 21h05
Heu ... Ich bin a gland.com but honnetly un man printf
ne m'a renvoyé aucune information concernant les en-tete stdio.h , iostream.h .A aucun moment je n'aie vu apparaître ces noms de fichiers .



<div class='quotetop'>Citation </div>
gcc -lstdc++ -o test main.cpp[/b] Humm ..... Qu'est-ce-que je dois faire ?Le copier-coller dans la console me renvoie un message d'erreur .

lucienmathieu
29/10/2004, 21h14
man stdio et tu auras un peu plus d'aide ;-P


#include <iostream.h>

main() {
cout << "Hello World" << endl;
}

pour compiler un programme C ou C++, on utilise gcc
si tu ne fais pas le lien avec la librairie /usr/lib/libstdc++.so
tu auras le problème suivant:

: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/cc4wsH7h.o(.text+0x8b): In function `__tcf_0':

donc la compilation se fait comme suit, dans la console ;-P


gcc -lstdc++ -o test main.cpp

il faut avoir installé la librairie aussi, vérifie que /usr/lib/libstdc++.so est bien dispo ;-P