Code C
Makefile for mongoDB C driver
Submitted by trax on ven, 10/06/2011 - 20:00Parce qu'il n'y en avait pas
(peut servir à générer un peu n'importe quelle librairie)
- Vous devez vous connecter pour poster des commentaires
Compilation tout en un
Submitted by trax on ven, 11/02/2011 - 20:58Un ami m'a parlé du fait que faire un énorme fichier C avec tout son code pour le compiler en une fois diminuait le temps de compilation. Certes plus qu'un seul fichier à ouvrir, édition de lien plus simple, mais bon quelque peu dubitatif j'ai voulu tester :
Créons pleins de fichiers avec pleins de fonctions :
echo -e "#include \"main.h\"\nint main(){" > main.c
for i in {1..50};
do
echo "#include <stdio.h>" > plop$i.c
for j in {1..100}
do
echo void "plop$i"'_'"$j(){printf(\"plop$i"'_'"$j\n\");}" >> plop$i.c java Vs C
Submitted by trax on mer, 29/09/2010 - 21:08Petit exercice de l'umlv. Exercice 5 :
http://igm.univ-mlv.fr/~forax/ens/java/licence06-07/td1.html
Code d'origine en C :
#include <stdio.h>
#include <stdlib.h>
int pascal (int nBut, int pBut){
int * tab;
unsigned int n, i;
tab = (int *)malloc ((nBut+1)*sizeof(int));
if(tab==NULL){
fprintf(stderr,"Pas assez de place\n");
exit(0);
}
tab[0] = 1;
for(n=1; n<=nBut; n++){
tab[n] = 1;
for(i=n-1; i>0; i--)
tab[i] = tab[i-1] + tab[i];
}Allouer dynamiquement un tableau à n dimensions avec uniquement un malloc
Submitted by bruno on jeu, 11/02/2010 - 22:10Voici le code de la fonction array_alloc qui perment d'allouer un tableau de dimention n.
Le premier argument qu'elle prend c'est le nombre de dimention du tableau.
Le deuxième c'est un tableau contenant la taille de chaque dimention.
Le dernier argument désigne la taille du type avec lequel on rempliera la tableau.
#define PTR_SIZE sizeof (void*)
- Vous devez vous connecter pour poster des commentaires
- En savoir plus
Opencv et introduction au traitement d'image
Submitted by trax on jeu, 10/12/2009 - 11:52http://opencv.willowgarage.com/wiki/
http://opencv.willowgarage.com/documentation/index.html
#include <opencv/highgui.h>
- Vous devez vous connecter pour poster des commentaires
Régression Linéaire
Submitted by trax on mar, 22/09/2009 - 15:20Suite à un cours de math je me suis qu'il pourrait être intéressant d'implémenter un algorithme de regression linéaire histoire de mieux s'en rappeler (je suis sur qu'il existe pleins d'autres implémentations bien meilleurs). Celle-ci est volontairement non optimisée pour rester le plus lisible possible
Le code suivant charge un fichier sous la forme : "valX valY" (voir bas de page pour une code exemple). Le résultat peut être vérifié grâce gnuplot qui propose aussi une implémentation de cette algorithme.
#include <stdio.h> #include <assert.h>
- Vous devez vous connecter pour poster des commentaires
- En savoir plus
Tri par tas ou Heapsort
Submitted by furet on jeu, 02/04/2009 - 09:18#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TRUE 1
#define FALSE 0
void initTableau(int *tab, int taille){
int i;
for(i = 0; i < taille; i++)
tab[i] = random();
}
void swap(int *a, int *b){
int x = *a;
*a = *b;
*b = x;
}
char domine( int *tab, int taille, int j ){
if( 2*(j+1)-1 >= taille) /* tab[j] est seul */
return TRUE;
else if(2*(j+1)-1 == taille-1 && tab[j] >= tab[2*(j+1)-1]) /* tab[j] a 1 descendant et domine */
return TRUE;- Vous devez vous connecter pour poster des commentaires
- En savoir plus
Convertir string en nombre
Submitted by trax on jeu, 22/01/2009 - 22:01Convertir une chaîne de caractères en int (nombre)
Fichiers entête à inclure :
#include <stdlib.h> #include <errno.h>
int string2int (char *eugeni){
errno = 0;
int t = strtol (eugeni, NULL, 10);
if (errno == ERANGE || errno != 0) {
perror ("strtol");
exit (EXIT_FAILURE);
}
return t;
}
Convertir chaine de caractères en double
double string2double(char *eugeni){
errno = 0;
double t = strtod(eugeni, NULL);
if (errno == ERANGE || errno != 0) {- Vous devez vous connecter pour poster des commentaires
- En savoir plus
Macro de debugage et constante preprocesseur
Submitted by trax on mer, 28/05/2008 - 11:55Bien sur il y a gdb mais utiliser la sortie standard peut être utile
Mettre un commentaire différent c'est sympa mais ça peut être lourd à mettre en place
Il existe des constantes préprocesseurs qui peuvent être bien utile :
#define BUG printf("Dans le fichier %s dans la fonction %s à la ligne %d\n",__FILE__, __FUNCTION__, __LINE__)
#define DATE printf("Compile le %s %s\n", __DATE__, __TIME__)
#include <stdio.h>
void plop(){
BUG;- Vous devez vous connecter pour poster des commentaires
- En savoir plus
Tutorial sqlite
Submitted by trax on sam, 24/05/2008 - 15:41SQLite ?? C'est quoi ?
Non ce n'est un pas un SQL pour l'élite mais une petite librairie C qui permet d'utiliser une base de donnée embarquée.
Prérequis
- Connaissances de base en SQL un tuto assez sympa
- Un cerveau et un clavier
Caractéristiques :
- ACID : transaction Atomique, Cohérence, Isolation, Durabilité
- Aucune configuration demandée
- Implémente la plupart des requêtes SQL92
- Vous devez vous connecter pour poster des commentaires
- En savoir plus




