<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
  <channel>
    <title>DLFP - Entrées de forums de Salagnac</title>
    <link>http://linuxfr.org/~Salagnac/</link>
     
    <description>LinuxFr</description>
    <language>fr</language>
    <image>
      <title>DLFP - Entrées de forums de Salagnac</title>
      <link>http://linuxfr.org/~Salagnac/</link>
      <url>http://linuxfr.org/images/favicon.png</url>
    </image>
    <ttl>30</ttl>
    

    <item>
      <title>[Terminal] Compiler du C à la volée</title>
      <author>null@linuxfr.org (Salagnac)</author>
      <pubDate>Sun, 21 Dec 2003 15:42:18 +0100</pubDate>
      <link>http://linuxfr.org/forums/47/24799.html</link>
      <guid>http://linuxfr.org/forums/47/24799.html</guid>
      <category>divers</category>
      <description>Voilà comment programmer en &lt;i&gt;&quot;script C&quot;&lt;/i&gt; (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 &lt;u&gt;n'importe où&lt;/u&gt;, 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:

&lt;pre&gt;
#!/bin/bash
total_lignes=`cat $0 | wc -l` ; ligne_arob=`grep &quot;@&quot;&quot;@&quot; -m 1 -n $0 | cut -f1 -d:`
cat $0 | tail -$[ $total_lignes - $ligne_arob ] &amp;gt; /tmp/cs.$$.c
gcc -Wall -o /tmp/cs.$$ /tmp/cs.$$.c &amp;amp;&amp;amp; /tmp/cs.$$ $* ; rm /tmp/*$$* ; exit
@@ fin de l'en-tête
&lt;/pre&gt;

à 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 &lt;i&gt;chmod +x&lt;/i&gt; et roulez jeunesse (les arguments passent, ça peut se lancer avec un &amp;amp;...).</description>
    </item>  </channel>
</rss>
