#date
Articles récents et pense-bête
Traduction partielle de QuickJs Javascript Engine avec des notes de bas de page personnelles.
Quelques expérimentations avec SQLite et sqlite3
notamment une extension avec une fonction de chaines de caractères écrite en C.
Simulation de l'action des antibiotiques et de la formation de résistance
Résolution d'une grille de sudoku par la méthode de backtraking (retour sur trace) en langage C.
Implémentation en C d'une queue dynamique.
Fonctions enqueue, dequeue, ...
Générer et afficher sur un terminal des commentaires encadrés par /**
. . . */
à partir d'un fichier *.h, *.c, *.cc. Optionnellement produire un fichier html.
GD est une librairie graphique écrite en C qui permet de créer ou ouvrir des images (jpg, png, gif, etc.) et de tracer dedans des formes géométriques (ligne, rectangle, cercle, etc.). Elle permet aussi quelques manipulations élémentaires. Le langage est C.
Pense-bête des fonctions de date et de temps en C :
• time_t time(time_t *tloc);
• time_t mktime(struct tm *tm)
• struct tm *localtime(const time_t *timep);
• double difftime(time_t time1, time_t time0)
• char *strptime(const char *s, const char *format, struct tm *tm)
J'ai déjà commis un article sur les expressions régulières en C++.
En C c'est un peu moins maniable.
Il y a quelques années j'avais écrit quelques programmes de calcul de l'heure de lever et de coucher du soleil. J'ai découvert ces jours-ci une librairie de calculs d'astronomie qui fait tout ce qu'on peut imaginer.
Implémentation en C d'une machine de Turing
Prétexte pour construire à la volée une pile LIFO en C.
Nos caractères UTF8 qui deviennent la norme sous linux, sont codés sur 1 à 6 octets. Ceci pose des problèmes entre autres en C avec les fonctions de <string.h> mais aussi avec les URL. Dans cet article j'expose ce que j'en comprends et comment je le résous.
Pense-bête pour les calculs en multiple précision en python (module mpmath) et en C (GNU MPFR).
et accessoirement compter les bits d'un entier (unsigned)
#include <stdio.h>
#include <stdlib.h>
int // Kernighan
bits_count(uint u)
{
int c = 0;
for(; u; c++) u &= (u - 1);
return c;
}
int main(int argc, char *argv[])
{
uint u;
printf("u = ");
while(fscanf(stdin, "%u", &u) == 1)
{
printf(" bits_count(u) = %d\n", bits_count(u));
printf("\nu = ");
}
}
#define is_pow2(u) !(u & (u - 1))