Archive for category C & C++
Utilisation de l'API Stax de libXML2
Posted by Calvin1602 in C & C++, xml on mars 1st, 2011
Pour charger un fichier XML, il y a traditionnellement deux API : Sax et DOM
* Sax oblige a écrire plein de callbacks. Ca fait tout ce dont on peut avoir besoin, mais c'est assez lourd à coder.
* DOM chargeant tout en mémoire, ce n'est pas adapté pour les gros fichiers.
Read the rest of this entry »
Interfacage Assembleur / C++
Posted by Calvin1602 in assembleur, C & C++ on février 28th, 2011
Un autre vieux tuto : comment accéder à vos structures C++ à partir de l'assembleur.
Read the rest of this entry »
Tutoriel Boost Graph Library
Posted by Calvin1602 in C & C++ on septembre 25th, 2009
Boost, c'est le bien, et la BGL ne fait pas exception à la règle. BGL permet d'utiliser des algorithmes de graphes précodés en l'adaptant à nos besoins via les templates, et économise beaucoup de temps de développement et de debug.
C'est bien beau, mais encore faut-il que les puissants concepts utilisés pour faire fonctionner la librairie soient bien documentés. Or, la documentation de la BGL est tout simplement ignoble :
Read the rest of this entry »
Préprocesseur et énumérations : la suite.
Cet article fait suite à mon premier article intitulé "Faire un peu joujou avec le préprocesseur"
(disponible ici : http://www.coder-studio.com/blog/preproc/ ).
Pour rappel, nous en sommes restés à un système de macro qui permettait d'automatiser la création
d'un opérateur "< <" pour iostream, capable d'afficher le nom d'une énumération.
Faire un peu joujou avec le préprocesseur...
Ça faisait un bail que je n'écrivais pas sur Coder-Studio...
Chose réparée
Du 17 au 19 avril 2009, a eu lieu la finale de Cod'INSA, un concours de programmation inter-INSA,
qui s'est déroulée à l'INSA de Toulouse (plus d'infos sur http://codinsa.insa-lyon.fr pour les intéressés).
Faisant partie des organisateurs, j'ai eu à faire l'interfaçage C++/Java (oui parce qu'il y en a qui veulent
participer en Java...allez comprendre :p [/troll]). J'y ai découvert les joies de GCJ et de CNI, ce qui
pourra peut-être être l'objet d'un autre article, selon ma motivation...
Bref, tout ça pour dire qu'il m'a fallu interfacer une librairie écrite en C avec du Java, et qu'il a fallu
automatiser un peu le boulot pour la partie concernant les énumérations.
Dans cet article, je vais illustrer une méthode pour faciliter l'affichage des valeurs des énumérations.
En gros, le but, c'est que si l'on a :
MonEnumeration e = E_VAL_1; std::cout < < e << std::endl; |
il s'affiche alors à l'écran "E_VAL_1".
Les Bases du langage C
Introduction
Je suppose que si vous êtes arrivé jusqu'à cette page web, soit vous vous êtes perdu soit vous voulez vraiment apprendre à programmer en langage C ^^. Si vous êtes dans ce cas, bienvenue chez les programmeurs ! Alors, qu'est-ce que le C ? Le C est un langage de programmation; on écrit un programme dans ce langage, et ensuite le texte que vous avez tapé est converti par un "compilateur" en langage binaire 0 et 1 compréhensible par le processeur de votre ordinateur (un fichier .exe). Donc, pour commencer, il vous faut un compilateur et un éditeur (le bloc-notes peut suffire comme éditeur mais il y a beaucoup mieux
). Un environnement qui intègre et compilateur et éditeur est appelé IDE (Integrated Development Environment). La plupart de ceux que je vais vous proposer sont des compilateurs C++. Qu'est-ce que le C++? C'est un autre langage, mais qui en réalité est compatible avec le C (un programme écrit en C peut se compiler avec un compilateur C++ mais pas l'inverse). Le C++, c'est donc tout le C, mais avec des notions supplémentaires (templates, objets, surcharge de fonctions...). Le C et le C++ sont définis par les normes ANSI/ISO (ce sont des organismes de normalisation, en gros ils donnent les règles que doit respecter un compilateur pour pouvoir être présenté comme un compilateur C ANSI ou C++ ANSI).
La factory
La Factory, brrr
Dans ce tutorial, je vais tenter d'aborder le design pattern factory (fabrique pour les anglophobes).
A mon habitude, nous allons retrouver la même ligne directrice que pour les précédents tutoriaux.
Je vais commencer par expliquer brièvement le principe de la factory, ensuite en découlera une première implémentation en C++ et enfin on essayera de rendre ça le plus générique possible.
Le design pattern Observer/Observable en C++
Ce tutorial a pour but de proposer une implementation en C++ du patron de conception Observer / Observable. Comme il s'agit a la base d'un patron de conception, il en existe par definition beaucoup d'implementations specifiques au domaine.
Ici nous allons proposer une implementation "generique" qui sera utilisable dans la majorite des cas.




Commentaires récents