#date

Langage C

Articles récents et pense-bête

QuickJs

Traduction partielle de QuickJs Javascript Engine avec des notes de bas de page personnelles.

SQLite

Quelques expérimentations avec SQLite et sqlite3 notamment une extension avec une fonction de chaines de caractères écrite en C.

Antibiotiques

Simulation de l'action des antibiotiques et de la formation de résistance

Résolution de Sudoku en C

Résolution d'une grille de sudoku par la méthode de backtraking (retour sur trace) en langage C.

Queue

Implémentation en C d'une queue dynamique.

Fonctions enqueue, dequeue, ...

Générateur de documentation pour le C

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.

Librairie graphique GD

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.

Le temps en 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)

Expressions régulières en C

J'ai déjà commis un article sur les expressions régulières en C++.

En C c'est un peu moins maniable.

Astronomie : libnova

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.

Machine de Turing

Implémentation en C d'une machine de Turing

Ensemble des diviseurs d'un entier naturel

Prétexte pour construire à la volée une pile LIFO en C.

Langage C et codage des caractères

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.

Calculs en multiple précision

Pense-bête pour les calculs en multiple précision en python (module mpmath) et en C (GNU MPFR).


Pense-bête

Saisir un nombre pour tester une fonction

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 = ");
	}
}
Savoir si un entier est une puissance de 2
#define is_pow2(u) !(u & (u - 1))