next up previous contents index
Next: Compilation à partir de Up: Utiliser gcc Previous: Utiliser gcc

   
Compilation à partir d'un fichier source

Voici un simple fichier source :

/*
 * salou.c - Source du programme salou
 *
 * Ce programme montre comment traiter les arguments d'un programme
 * (boucle "for (i = 0; i < argc; i++)") et comment utiliser des
 * fonctions definies dans le meme fichier source.
 *
 */

#include <stdio.h>
#include <string.h>

main (int argc, char **argv)
{
  int i;
  printf ("\n");

  /* Traitement des arguments passes au programme */

  if (argc > 10)
    {
      printf ("Trop d'arguments ! Essayez %s -h pour avoir l'aide\n",
                                                                argv[0]);
      printf ("\n");
      printf ("*********************************\n");
      printf ("Usage : %s <arguments>\n", argv[0]);
      printf ("**********************************\n");
      exit (1);
    }

  for (i = 0; i < argc; i++)
    {
      if ((strcmp ("-h", argv[i]) == 0) || (strcmp ("--help",
                                                   argv[i]) == 0))
	{
	  printf ("aide demandee...\n");
	  printf ("y'a qu'a demander !...\n");
	  printf ("et faut pas hésiter !...\n");
	  printf ("  -h, --help         affiche l'aide\n");
	  printf ("  -n, --name         affiche le nom de l'auteur\n");
	}			/* if */
      if ((strcmp ("", argv[i]) == 0))
	{
	  printf ("%s programme par Mathieu DECORE, 1998\n", argv[0]);
	}			/* if */
    }				/* for */
  printf ("\n");

  printf ("*********************************************\n");
  printf ("Bonjour à celui qui lira ça \n");
  printf ("**********************************************\n");

/* Exemple d'utilisation d'une fonction definie dans le programme
 * Cette fonction, "min", renvoit le minimun de deux nombres : 
 * min(a, b) renvoit a si a < b, et renvoit b sinon (si b < a)
 */


  printf ("min 3, 5 : %d\n", min (3, 5));
  printf ("min 8, 5 : %d\n", min (8, 5));

/* Affichage de tous les arguments passes au programme */

  for (i = 0; i < argc; i++)
    printf ("argc %d argv[%d] %s \n", argc, i, argv[i]);

}

/* Definition d'une fonction "min" pour l'exemple */

int
min (int a, int b)
{
  if (a < b)
    return a;
  else
    return b;
}

Pour compiler ce programme, il suffit d'entrer :

gcc -o salou salou.c

L'exécutable sera salou, comme précisé juste après l'option -o.



MATHIEU DECORE
1999-11-03
Merci de me dire ce que pensez de ce document.