C
|
asm-register.c
|
IA32
|
Accéder aux registres via des variables globales avec gcc.
|
auto-extract.tgz
|
ELF32
|
Créer des exécutables auto-extractibles en utilisant quelques astuces
classiques du format ELF avec objcopy. Exemple d'exécutable
tout fait : demo-embed-linux-x86. Voir la discussion qui
a suscité ce petit exercice : https://linuxfr.org/forums/19/8222.html.
|
cast_variad.c
|
|
Le cast vers les fonctions variadiques est l'équivalent de
(void*)
pour les fonctions (ie aucun warning).
|
ckpt.c
|
|
Sauvegarder l'état du programme courant à la demande (sous forme de
fichiers
core
). À utiliser avec des
gdb
le_programme ckpt.pid
pour afficher le contenu de
variable_globale
par exemple (
p variable_globale
sous
gdb).
|
ctrl-parport.c
|
Linux
|
Exemple de contrôle """bas niveau""" du port parallèle sous
Linux. Largement perfectible. Discussion ayant donné lieu à ce petit
exercice : https://linuxfr.org/forums/19/8431.html.
|
gcov_bb_to_xml.c
|
|
Convertit les donnees generees par
gcc -fprofile-arcs
-ftest-coverage
(format gcov, cf http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html) au format
XML.
|
heap.c
|
|
Pour avoir une idée de la taille du tas allouée pour le processus
courant.
|
list.h
|
|
Implantation de listes circulaires doublement chaînées sous forme de
macros.
|
mmap-share.tgz
|
|
Pour faire des partages de mémoire entre processus par
mmap()
avant
fork()
(simple.c) et après
fork()
(writer.c et reader.c). Voir aussi la bibliothèque mm de
Engelschall pour un remplacement de malloc() avec partage de mémoire
entre processus (
mmap()
ou IPC SysV).
|
prox.c
|
|
Un proxy TCP de base configurable. Le format du fichier de configuration est
indiqué en début du source.
|
pthr_serv.c
|
|
Squelette de serveur multithreadé (pthread).
|
pwcrypt.c
|
|
htpasswd
du pauvre (à compiler avec
-lcrypt
sur la plupart des systèmes).
|
rma-rta+cachelock.c
|
|
Rate Monotonic Analysis (RMA) et Response Time Analysis (RTA) simple
sur des ensembles de tâches periodiques abstraites indépendantes (avec
deadline=période) : on fournit le nombre de tâches, puis les tuples
(Ci, Ti, ni) pour chaque tâche, et ça
effectue les calculs.
ni
représente le nombre
d'instructions qui peuvent passer de Icache-miss en Icache-hit quand
on affecte tout le cache à la tâche
i
. Le format de
fichier d'entrée est décrit en tête du source.
|
stack_backtrace.c
|
IA32/gcc
|
Récupérer la chaîne d'appel d'une fonction (hyper basique). Ne marche
évidemment pas si compilé avec
-fomit-frame-pointer
. Pour
une version portable, voir
bt.c de kos, et un exemple d'utilisation est la fonction
__dbg_backtrace()
de debug.c du même kos.
|
stack_overlap.c
|
|
Canal caché par la pile.
|
susv2-ctxt-linux.c
|
IA32/gcc
|
Émulation de l'API makecontext/swapcontext (SUS v2) sous vieille
glibc/IA32. Sans utiliser setjmp/longjmp (juste pour voir).
|
sv.c
|
|
Récupérer l'adresse / le PC d'un SEGV. Utilisable sous Linux/IA32 et
Solaris.
|
term.c
|
(Solaris)
|
Afficher la chaîne correspondant à une capability d'une entrée termcap
donnée. Ne fonctionne bien que sous Solaris. À compiler avec
-ltermcap
.
|
variad.c
|
|
Sur certaines architectures, les
union
sont passees par
références, même si elles tiennent dans un mot. La preuve avec un
Bus error sur sparc64.
|
|
C++
|
c-cast-cpp.cc
|
|
Test et démo pour définir une série d'objetc C++ à partir de structure
C. Validation de l'héritage simple, multiple, et de la surcharge à
partir de structures C. Plusieurs méthodes testées, une seule valide
dans tous les cas (trampolines C->C++).
|
virtual_ctor.cc
|
|
Une version des virtual constructors (cf Thinking in C++) reposant sur les templates. Permet, a partir d'un objet en bas d'une hierarchie d'heritage, d'utiliser cet objet en tant qu'ancetre, tout en pouvant lui demander de se recopier (ie faire le new pour le type descendant) sans avoir a redefinir de methodes virtual supplementaires (genre Copy...). Permet d'etre utilise comme un generateur d'objets a partir d'un flux (ie inverse du processus de serialisation).
|
wrap_cc.cc
|
gcc
|
Wrapping de new/delete (versions scalaires). À compiler avec
-Wl,--wrap=__builtin_new,--wrap=__builtin_delete,--wrap=malloc,--wrap=free
.
Inclut aussi le wrapping de malloc/free (inutilisé).
|
|
Perl / Bourne Shell / Makefile
|
allocine.sed
|
|
Un script
GNU sed
pour convertir les programmes des salles de ciné
d'Allociné pré-traités par
lynx -dump
, en
version texte propre.
|
cddb2m3u.sh
|
|
Convertir du cddb en m3u.
|
cygwin-mksnap.sh
|
|
Récupération du cygwin
courant et constitution d'un répertoire prêt à être gravé sur CD,
directement utilisable par la suite avec le
setup.exe
. Sur win2000, renommer le
setup.exe
en autre chose si vous n'avez pas les droits
d'administration (sinon win2000 vous dira "pas les droits
suffisants...").
|
debian-update.sh
|
|
Permet de se creer un CD avec les .debs necessaires pour un update
d'une debian qui n'a pas un accès réseau terrible. Par exmple, sur ma
debian (modem), je fais
apt-get -s -u dist-upgrade | mail
moi@reseau_rapide.com
, puis je vais sur
reseau_rapide.com
, je lance ce script en lui passant en
paramètre le mail que je me suis envoyé.
Un script de configuration ~/etc/debian.conf est nécessaire sur la machine de
reseau_rapide.com
.
|
extract.pl
|
|
Prend un source C/C++ (personnalisable par regexp à d'autres
langages), et extrait les sections de la forme
<KEEP(fichier_dest.txt)>...</KEEP(fichier_dest.txt)>
(inclus dans des commentaires pour que le code reste
compilable). Supporte les sections qui ne sont pas bien
imbriquées. Voir le début du source pour des explications.
|
get_cinefil.sh
|
|
Récupère la page Cinéfil
v1 d'une salle de ciné donnée via
lynx -dump
, et la
transforme en version texte propre.
|
mail-resultats-tp.sh
|
|
Script pour envoyer un mail de bilan aux etudiants d'un TP constitues
en binome. Voir debut du script pour une description plus complete.
|
mk-doc.glib
|
|
Makefile pour générer un bouquin (a2ps) à partir des fichiers HTML de
la doc glib. Marche peut-être avec la doc gtk, ...
|
mkphotoalbum.tgz
|
|
Makefiles pour générer des HTML d'album photo (incluent les images au
format thumb). Dans chaque répertoire de l'arborescence des photos se
trouve un fichier
mk
. Par
défaut, les images en entrée sont au format
tif
, et les
images générées le sont au format
jpg
. Configurable dans
le
Makefile
principal.
|
patch2html.pl
|
|
Transforme un patch recursif (diff -ruN, ou cvs diff -uN par exemple)
fourni sur l'entrée standard, en HTML sur la sortie standard, avec
des couleurs et tout. Largement inspiré de cvsweb.cgi (voir en-tête du
script).
|
q.tgz
|
|
Scripts pour gérer une file d'attente en Shell (Bourne) sous Linux et
Solaris. Contourne un certain nombre de limitations des 2
systèmes. Prend en compte les accès concurrents.
|
rmdefine.pl
|
|
Enlève les
#(un)define WIN32 / #endif
en tenant compte de
l'imbrication. On peut naturellement remplacer
WIN32
par
n'importe quoi d'autre.
|
rmfolder.pl
|
|
Prend les bookmarks Netscape/Mozilla, et les recopie après avoir
enlevé les sections marquées "a enlever" (regexp a personnaliser).
|
txt2fig.sh
|
|
Transforme un fichier texte en image fig (pour xfig) style verbatim. Utile
quand les \begin{verbatim}/\end{verbatim} font n'importe quoi.
|