• [^] # Re: Des idées de programme C

    Posté par . En réponse au journal Des idées de programme C. Évalué à 1.

    Ouais, et alors ? Ca marche avec le shell de Larry Wall !

    perl -e'while (<>) { eval; print $@; } '
    system "touch a"
    rename "a","b"
    exec "ls"

    1_simple.c 5_entry.c b
    open(I,"1_simple.c") ; while (<I>) { print ; if ($.>10) { break;} }
    #include <gtk/gtk.h>

    int main (int argc, char *argv[])
    {
    GtkWidget *window;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_show (window);

    gtk_main ();

    return 0;
    }


    Plus sérieusement faire un shell, ce n'est pas réécrire des commandes,
    c'est découper ta ligne en mots , les regrouper en instructions puis en pipes, ensuite c'est des coups de fork() && exec ()
    Puis on modifie la table des descripteurs de fichiers pour que les pipe marchent.
    Tu peux utiliser glib pour avoir un type liste chaîné tout près,
    et la bibliothèque Gnu ReadLine | TermLine je ne sais plus pour avoir
    une gestion sympa de l'historique ( Flèches, Ctrl-A, Ctrl-E, Ctrl-R, Ctrl-K )

    La complétion avec Tab, je n'ai pas géré ça quand j'ai fait mon projet, mais c'est une bonne idée.

    C'est vrai que c'est très instructif.