Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 wink 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 wink 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

cardiomax2000 a écrit :
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