Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Astuces.divers : [Terminal] Compiler du C à la volée

Posté par Salagnac () le 21 décembre 2003
Voilà comment programmer en "script C" (compilé à la volée). C'est pas très beau/propre, mais des fois on a besoin, et ça c'est suffisament rustique pour passer n'importe où, c'est rapide à mettre en oeuve, et c'est vraiment pratique.

Ovrez un fichier dans votre éditeur favori (emacs, évidemment) et tapez le code suivant:


#!/bin/bash
total_lignes=`cat $0 | wc -l` ; ligne_arob=`grep "@""@" -m 1 -n $0 | cut -f1 -d:`
cat $0 | tail -$[ $total_lignes - $ligne_arob ] > /tmp/cs.$$.c
gcc -Wall -o /tmp/cs.$$ /tmp/cs.$$.c && /tmp/cs.$$ $* ; rm /tmp/*$$* ; exit
@@ fin de l'en-tête


à la suite on met un fichier C des familles (avec main(), et tout), on enregistre ça (j'ai pris l'habitude de nommer les fichiers avec le suffixe .cs), on chmod +x et roulez jeunesse (les arguments passent, ça peut se lancer avec un &...).

> Lire le message (14 commentaires, moyenne: 1,1).  

Vous avez demandé le commentaire #352968.

Re: Compiler du C à la volée

Posté par Matthieu Moy (page perso, ) le 24/12/2003 à 12:43. (lien). Évalué à 1.

> c'est suffisament rustique pour passer n'importe où,

Alors dans ce cas,

- #!/bin/bash
+ #!/bin/sh

  • [^]Re: Compiler du C à la volée

    Posté par Castor666 () le 04/01/2004 à 09:29. (lien). Évalué à 1.

    Je dirais même :
    - #!/bin/sh
    + #! /bin/sh

    Certains systèmes UNIX (ceux basés sur 4.2BSD) prennent un nombre magique sur quatre octets, réclamant un espace après le !, #! /bin/sh.
    ( http://absfr.tuxfamily.org/abs-2.2-fr/sha-bang.html(...) )

    • [^]Re: Compiler du C à la volée

      Posté par Gniarf () le 20/02/2004 à 19:38. (lien). Évalué à 1.

      BSD pux0rz, dans ce cas.

      --
      Windows has no users. It has hostages.

    [^]Re: Compiler du C à la volée

    Posté par gnap gnap (page perso, ) le 12/03/2004 à 17:21. (lien). Évalué à 1.

    Mouais, sur un Unix décent, /bin/bash devrait fonctionner, même sans être le shell par défaut...

    • [^]Re: Compiler du C à la volée

      Posté par Krunch (Jabber id, page perso, ) le 25/04/2004 à 10:46. (lien). Évalué à 1.

      Bash n'est pas le seul shell existant. En cherchant un peu doit y avoir moyen de trouver des *nix sur lesquels Bash n'est pas installé par défaut.

      --
      Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
      pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.