#1 Le 14/07/2007, à 18:16
- DrDam
[resolu] programmer en C, compilé et après
Bonsoir, ma question est sans doute tres simple, mais bon ...
Voila j'ai crée un fichier .c
#include <stdio.h>
int main()
{
printf("bonjour a tous");
}
je l'ai compilé avec gcc via la commande : gcc tst.c
aucun problème signalé ... il me créé un fichier "a.out" ...
bien, mais ou est mon executable ... enfin le fichier que je peu lancer pour executer mon programme ???
Seconde question : comment remplacé dans le code C le "system(pause);" de windows ??
Merci
Dernière modification par DrDam (Le 14/07/2007, à 20:16)
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#2 Le 14/07/2007, à 19:48
- Link31
Re : [resolu] programmer en C, compilé et après
Ton exécutable est le fichier a.out C'est encore une vieillerie d'UNIX qui a perduré jusqu'à nos jours.
En général, on utilise
gcc fichier.c -o nom_de_l'exécutable
Dans tous les cas, pour lancer le programme c'est (depuis le dossier de l'exécutable) :
./nom_de_l'exécutable
ou dans le premier cas :
./a.out
Je ne sais pas exactement ce que fait le system("PAUSE") sous windows. S'il s'agit d'attendre un certain temps, tu peux utiliser sleep(unsigned int nb_sec) (dans unistd.h). S'il s'agit d'attendre l'appui d'une touche, c'est getchar(void) (dans stdio.h).
Dernière modification par Link31 (Le 14/07/2007, à 19:51)
Hors ligne
#3 Le 14/07/2007, à 20:16
- DrDam
Re : [resolu] programmer en C, compilé et après
Merci, merci ..
Dam
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#4 Le 31/07/2007, à 14:52
- DrDam
Re : [resolu] programmer en C, compilé et après
question idiote : comment ce passe l'envoi de paramètre ??
voila mon code (c'est un minima ):
#include <stdio.h>
int main(int n)
{
int i;
for (i==1;1<n;i++)
{
printf("bonjour a tous\n");
}
}
et après je fait un "gcc tst.c -o tst" pour compilé
et pour lancé 5 boucle je tape quoi ?? ./tst ?? 5 ???
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#5 Le 31/07/2007, à 15:15
- Compte anonymisé
Re : [resolu] programmer en C, compilé et après
Salut
Passer des arguments à la fonction main est un peu moins basic que tu l'écris.
Voir ici dans la partie la fonction main et adapter.
@+
#6 Le 31/07/2007, à 15:18
- trucutu
Re : [resolu] programmer en C, compilé et après
Ce n'est pas aussi simple que ca.
La syntaxe de la fonction main est :
int main(int argc, char *argv[])
- argc : nombre de paramètres
- argv : la chaînes de caractère des options entrées.
quand tu veux faire ./tst 5 à l'exécution, il faut que tu analyses l'option entrée par (ex):
int n = 0;
if (argc > 1) {
/* L'option est convertie en un entier */
n = atoi(argv[1]);
}
Il y a des moyens plus élaborés pour parser les options (cf. getoptlong() ), mais c'est déjà un bon début.
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#7 Le 31/07/2007, à 16:04
- cardiomax2000
Re : [resolu] programmer en C, compilé et après
Je ne sais pas exactement ce que fait le system("PAUSE") sous windows
En gros ça te fait
Appuyez sur une touche pour continuer
Et apres ça ferme la console.
Jeune et con
Hors ligne
#8 Le 31/07/2007, à 16:27
- AuraHxC
Re : [resolu] programmer en C, compilé et après
pour les standard :
int main(void) {
printf("Hello World !!!");
return 0;
}
C'est quand tu n'as pas de paramètre dans une fonction on met void dedans et met un return 0 dans ton main car tu déclare comme valeur de retour int.
C'est dans le standard C, tu déclare ton main ainsi => int main (void) si tu ne passe de paramètre.
Après ce que t'as écris trucutu est juste c'est comme ça qu'il faut faire, parce que en effet tes arguments sont des chaines de caractère donc si tu veux les veux en type entier faut passer par une fonction de conversion (atoi).
Si tu as d'autres questions, n'hésite pas...
Hors ligne
#9 Le 31/07/2007, à 19:32
- trucutu
Re : [resolu] programmer en C, compilé et après
Appuyez sur une touche pour continuer
Et apres ça ferme la console.
Après, il me semble que le programme continue sont fonctionnement, point.
Il se trouve que quand un programme est exécuté par double-clic sou Windows, une console s'ouvre et se ferme automatiquement en fin de programme. L'objet de cette commande placée en fin de programme est de permettre la visualisation des résultats avant fermeture...
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#10 Le 31/07/2007, à 20:13
- AuraHxC
Re : [resolu] programmer en C, compilé et après
Effectivement le system("pause") permet de voir le résultat de son programme parce que sinon la console (sous windows) se ferme automatiquement après la fin de l'exécution (si on l'exécute avec double clic sur le .exe).
Hors ligne
#11 Le 05/08/2007, à 13:02
- DrDam
Re : [resolu] programmer en C, compilé et après
oui c'est vrai désolé ...
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne