Outils

Astuces pour les développeurs UNIX et aussi pour les autres ;-)

nc

pv (paquet à installer)

dd

tee

nm

Toto.bin > /home/xrn/test.log 2>&1

objdump -p libzozo.so

find /usr/src -not \( -name “*,v” -o -name “.*,v” \) ‘{}’ \; -print

Lex yacc / Flex bison

A l’édition de lien, si on utilise une librairie statique, gcc ne reprend pas les symboles non utilisés.
Cela est une bonne chose lorsqu’on génère un exécutable, mais cela peut poser problème avec des librairies partagées.
En effet, les symboles inutilisés par la librairie elle-même seront « undefined » et il sera impossible de lié un programme avec elle.
Il faut donc faire attention à ce point.

Option de gcc -fprofile-arcs qui permet du profiling

Il en existe de nombreuses et diverses implémentations. J’ai choisi shared_ptr, historiquement originaire de la bibliothèque boost, et maintenant membre du TR1. Cela signifie que shared_ptr est en train d’être adopté au sein de la norme du langage et sera donc à terme disponible en standard avec la plupart des compilateurs.

En attendant ce jour futur, force est de constater que l’état actuel des choses (Juillet 2007) est différent. Seul GCC propose std::tr1::shared_ptr en standard, et encore, pas sous toutes les plateformes. Mais les choses ne sont pas si négatives que cela non plus, vu qu’il existe la très mature implémentation boost::shared_ptr, et qu’il existe aussi Boost.TR1 qui fournit des fichiers d’en-tête redéfinissant ce type (ainsi que d’autres) au sein de l’espace référentiel std::tr1. En plus clair, il est parfaitement possible d’utiliser le type std::tr1::shared_ptr tel qu’il est défini dans le Technical Report 1 avec la plupart des compilateurs à condition d’installer Boost.TR1. A ce sujet, vous pouvez lire Installer et utiliser Boost/Boost.TR1 avec Visual C++.

Une librairie intéréssante : http://www.sfml-dev.org/index-fr.php
par http://www.developpez.net/forums/u16882/laurent-gomila/ modérateur developpez.com

A propos de strace : http://ftp.traduc.org/doc-vf/gazette-linux/html/2008/148/lg148-D.html
Ltrace : trace les librairies appellées
Ptrace : trace les processus appellés

Sloccount est un logiciel d’évaluation du prix de revient du code d’un logiciel

Programme qui écrit son source sur stdout:
int printf(const char*s,…);char*p=”\\int printf(const
char*s,…);char*p=%c%c%s%c,n=’%cn’,q=’%c’,*m=%c%s %c;%s%
c”,n=’\n’,q=’”‘,*m=”int main(){return!printf(p
+1,q,*p,p,q,*p,q,q,m,q,m,n); } “;int main(){return!printf(p
+1,q,*p,p,q,*p,q,q,m,q,m,n); }

Deux méthodes concurentes de gestion de la mémoire
/dev/shm
Mmap

Fonction shell
Mknod créer les fichiers /proc/devices
Strip
File
Lspci liste les périf pci
Pushd / popd cd empilés
Nm (ou nn) (liste le contenu d’un .so)

Astuces
Make –jN (ou N = nb core proco +1)

Fonction système:
Fopen appelle open(POSIX) qui ouvre des files descriptors

Attaquer un driver du noyau
Seulement 3 possibilitées : read/write/ioctl (à faire sur le retour de open(« /dev/xxx »))
Généralement une lib en espace utilisateur fournit une API et évite les appels de bas niveau

Librairies temps réel
XENOMAI
OROCOS CNES
Bench
Gettimeofday

Ressources :
Xdmcp
Xwing
rtwiki
nx
distcc (compilo distribué)
cmake (autotool)
alfresco
tortoise
wbinfo
Svn
Dpkg / apt-get
Alien (rpm sous debian)
Sourcer un script :
« . toto.sh » si toto.sh est un shell qui contient des fonctions, alors n faisant ainsi on pourra les appeler directement
+ se souvenir que le passage de paramètre n’est pas ANSI C mais C++
+ regarder la lib de trace de près

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Suivre

Get every new post delivered to your Inbox.