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:
à 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 &...).
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
> c'est suffisament rustique pour passer n'importe où,
Alors dans ce cas,
- #!/bin/bash
+ #!/bin/sh
[^]Re: Compiler du C à la volée
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
BSD pux0rz, dans ce cas.
Windows has no users. It has hostages.
[^]Re: Compiler du C à la volée
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
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.