il y a
29 jours
... Ou pas. C'est loin d'être nouvel an et les bonnes résolutions (comme celle
là par exemple) sont souvent loin de
l'esprit trop occupé par la longueur des jupes auxquels nos yeux sont exposés
(bien malgré nous, mais on s'en plaint pas) durant l'été.
Pour fêter la résurrection de mon blog (on y croit), voici une nouvelle
catégorie "fortune" ou je paste des quotes geek et sympa. J'avais commencé à
faire un fichier fortune(1) y a un an environ et maintenant j'en fais profiter
mes cher (et sans doute peu nombreux) lecteurs <3
May the Force be with you, kA.
il y a
environ un mois
Toi aussi, met de la joie dans ton code
http://code.google.com/p/nfc-tools
/*
* Many thanks to Charles Baudelaire for helping me
* test things and helping you realize your f**king
* OS / compiler does not support UTF-8 ;-)
*/
const uint8_t longdata[660] = "Dans une terre grasse et pleine d'escargots\n"
"Je veux creuser moi-même une fosse profonde,\n"
"Où je puisse à loisir étaler mes vieux os\n"
"Et dormir dans l'oubli comme un requin dans l'onde.\n"
"Je hais les testaments et je hais les tombeaux;\n"
"Plutôt que d'implorer une larme du monde,\n"
"Vivant, j'aimerais mieux inviter les corbeaux\n"
"À saigner tous les bouts de ma carcasse immonde.\n"
"Ô vers! noirs compagnons sans oreille et sans yeux,\n"
"Voyez venir à vous un mort libre et joyeux;\n"
"Philosophes viveurs, fils de la pourriture,\n"
"À travers ma ruine allez donc sans remords,\n"
"Et dites-moi s'il est encor quelque torture\n"
"Pour ce vieux corps sans âme et mort parmi les morts!\n";
const uint8_t elongdata[665] = "\x07" "\xff\x02\x94"
"Dans une terre grasse et pleine d'escargots\n"
"Je veux creuser moi-même une fosse profonde,\n"
"Où je puisse à loisir étaler mes vieux os\n"
"Et dormir dans l'oubli comme un requin dans l'onde.\n"
"Je hais les testaments et je hais les tombeaux;\n"
"Plutôt que d'implorer une larme du monde,\n"
"Vivant, j'aimerais mieux inviter les corbeaux\n"
"À saigner tous les bouts de ma carcasse immonde.\n"
"Ô vers! noirs compagnons sans oreille et sans yeux,\n"
"Voyez venir à vous un mort libre et joyeux;\n"
"Philosophes viveurs, fils de la pourriture,\n"
"À travers ma ruine allez donc sans remords,\n"
"Et dites-moi s'il est encor quelque torture\n"
"Pour ce vieux corps sans âme et mort parmi les morts!\n"
"\xfe";
il y a
4 mois
Faire des typedef de pointeurs (et de manière plus générale, des typedef
tout court) SAYMAL. Le truc vicieux c'est que l'utilisation de const
devient un peu perturbante, voilà un exemple:
1 #include <stdio.h>
2
3 typedef int* pint;
4
5 int
6 main(int argc, char *argv[])
7 {
8 int i = 42;
9 const pint pi = &i;
10
11 (void)printf("i = %d\n", i);
12
13 *pi = 12;
14 (void)printf("i = %d\n", i);
15
16 return (0);
17 }
Ça passe?
il y a
5 mois
On voit souvent que l'avantage d'une liste doublement chaînée c'est de pouvoir
ajouter un élément neo avant un élément de la liste e. En fait c'est
également possible de le faire avec une liste simplement chaînée, même si on ne
dispose pas d'un pointeur sur l'élément qui précède.
il y a
5 mois
Y a un gars qui a eu une idée convi, c'est de faire un programme
pour fetcher tout les xkcd (un bonjour like me direz vous). Le souçi
c'est qu'il a décidé de coder ça avec les pieds alors voilà une formule
d'amour quick'n'dirty en bon vieux shell. Enjoy.
i=1
while [ $i -le 726 ]; do
uri=$(curl --silent "http://xkcd.com/$i/" | perl -ne 'print $1 if m{Image URL \(for hotlinking/embedding\): (http://imgs\.xkcd\.com/comics/.*\.\w+)}')
echo -n .
curl --silent --output "$(printf "%04d" $i)-$(basename "$uri")" "$uri"
i=$(($i + 1))
done
il y a
5 mois
Pour ceux qui ont oublié le C (pas bien!) voilà un petit rappel:
#include <stdlib.h>
void * malloc(size_t size);
void * calloc(size_t number, size_t size);
malloc
Alloue simplement un buffer de taille size et retourne l'adresse. Le contenu
du buffer est indéterminé, il est donc d'usage de l'initialiser juste après
l'allocation.
calloc
Alloue un buffer de taille (number * size) et retourne l'adresse. Le contenu
du buffer est initialisé avec des 0 par calloc. Le résultat est
généralement équivalent à:
void *ptr = malloc(number * size);
if (ptr != NULL)
(void)memset(ptr, 0, number * size);
Mais alors, pourquoi calloc(3) prend deux arguments?