Compiler OpenSSL avec MinGW sous Windows

Vous souhaitez compiler OpenSSL avec le compilateur libre MinGW sous Windows ? Ce guide est fait pour vous. Nous verrons comment compiler et installer OpenSSL, comment compiler un programme en statique et en dynamique.

Lire la suite »

Exploitez la puissance de la commande find

Les système Unix/Linux possèdent un grand nombre de commandes permettant d'effectuer les tâches d'administration de tous les jours... La commande find est une de celles-là. Elle sait faire bien plus que chercher des fichiers. find permet de trouver tous les fichiers mp3, tous les fichiers d'un utilisateur donné, tous les fichiers exécutables, tous les fichiers modifiés à une date donnée, etc. En la combinant avec xargs, il est possible d'exécuter des tâches sur les fichiers trouvés avec un gain de temps assez conséquent. C'est ce que nous allons voir dans cet article.

Lire la suite »

Sauvegarder automatiquement vos données sous Gnu Linux avec rdiff-backup

Ce tutoriel décrit les étapes nécessaires pour automatiser la sauvegarde de vos données importantes grâce à l'outil rdiff-backup. Les sauvegardes se font à travers le réseau via le protocole sécurisé SSH, personne ne sera donc en mesure d'intercepter vos fichiers car tout sera chiffré. rdiff-backup fait des sauvegardes incrémentales, c'est-à-dire qu'il ne sauvegarde que les fichiers qui ont été créés, modifiés ou supprimés depuis la dernière sauvegarde, ce qui permet de ne transférer que le strict minimum. rdiff-backup va permettre de récupérer un fichier tel qu'il était à un temps donné.

Lire la suite »

Calculer la somme de contrôle MD5 sur une arborescence entière

Lorsque l'on effectue des transferts d'une machine à une autre, il peut arriver que des erreurs se produisent. Voici une technique permettant de vérifier que les fichiers transférés sont bien conformes aux originaux. On utilise pour cela l'algorithme MD5 qui permet de calculer une somme à partir d'un fichier. Si un seul octet venait à changer dans ce fichier, alors la somme de contrôle serait complètement différente.

Lire la suite »

Supprimer les espaces en début et en fin de chaîne

La STL fournit une classe très pratique pour faire tout un tas de choses intéressantes avec les chaînes de caractères : std::string. Malheureusement, les fameuses fonctions trim, rtrim et ltrim que l'on peut trouver en PHP n'ont pas été implémentées.

Lire la suite »

Utiliser Firefox comme Vim

Les utilisateurs de Vim ne quitteraient leur éditeur pour rien au monde car il permet de gagner un temps considérable, une fois les commandes connues. Il est en effet possible d’être très productif sans jamais avoir à retirer les mains du clavier. Si vous désirez que Firefox puisse être commandé à la manière de Vim, il suffit d'installer l’extension Vimperator. Vimperator transforme Firefox en un navigateur web modal.

Lire la suite »

Utiliser les replis (folding) de Vim

La rédaction de documents sur ordinateur fait gagner beaucoup de temps, mais parfois, rien ne remplace la bonne vieille feuille de papier. Il est en effet plus facile de comparer des portions de texte lorsqu'il est présent sur papier plutôt que sur un écran. Sitôt qu'un document devient plus grand que l'écran, il est difficile de comparer et travailler sur des endroits différents du fichier. Les fonctions de partage d'écran (:split) vertical ou horizontal peuvent pallier à ce problème mais nous allons nous intéresser ici aux replis (folding) de Vim. Un repli permet de cacher une portion du fichier en cours d'édition.

Lire la suite »

Créez un effet néon

Pour ce premier tutoriel sous illustrator CS4, nous allons voir comment créer un effet néon comme ceux que l'on peut voir sur les enseignes des magasins.

Lire la suite »

Personnalisez l'affichage de vos données dans le débogueur de Visual C++ 2008 Express

Nous allons voir ici comment personnaliser l'affichage des données dans le débogueur de Visual C++. En tant que développeur, vous consacrez sans doute une bonne partie de votre temps à déboguer. L'astuce suivante pourrait vous faire gagner pas mal de temps et vous éviter d'avoir à effectuer un grand nombre de choses répétitives, désagréables et inutiles.

Lire la suite »

Évitez les chiffres magiques

Vous êtes de ceux qui utilisent des chiffres directement dans le code ? Lisez ceci, vous allez très vite changer d'avis.

Lire la suite »

Effectuez des copies entières de vos objets

Nous avons vu précédemment que le compilateur pouvait créer automatiquement le constructeur par copie et l'opérateur d'affectation. Ces éléments par défaut suffisent la plupart du temps, à moins que les objets à copier contiennent des pointeurs, des constantes ou des références. Si vous avez écrit le constructeur par copie et l'opérateur d'affectation, sachez qu'il y a quelques pièges à éviter.

Lire la suite »

Bien utiliser l'opérateur =

Aujourd'hui, nous allons voir comment bien implémenter l'opérateur d'affectation du C++ : operator=. Cet opérateur est souvent victime d'au moins une des deux erreurs suivantes : soit la signature de cet opérateur n'est pas correcte, ce qui rend impossible l'utilisation des affectations chainées, soit l'auto-affectation n'est pas prise en compte et l'objet qui est auto-copié est alors corrompu. Suivez le guide...

Lire la suite »

Déclarez virtuels les destructeurs de vos classes polymorphes

Si vous créez des classes polymorphes, c'est-à-dire, héritant d'autres classes, vous devez déclarer vos destructeurs virtuels si vous ne souhaitez pas avoir des comportements étranges ainsi que des fuites mémoire.

Lire la suite »

Interdire la copie d'objets

C++ génère automatiquement pour vous le constructeur par copie et l'opérateur d'affectation si vous ne les avez pas définis et qu'une partie de votre code y fait appel. Dans certains cas, vous désirerez peut-être que ces éléments ne soient pas générés afin d'interdire la copie d'objets. Cela peut être utile si par exemple une copie est trop complexe ou trop longue à mettre en place, ou encore si cette copie ne veut rien dire sémantiquement...

Lire la suite »

Constructeurs par défaut, par copie, destructeur et opérateur d'affectation

La plupart des classes C++ que l'on crée possèdent généralement au moins un constructeur, un destructeur et un opérateur d'affectation. Si vous ne les avez pas déclarés, le compilateur le fera pour vous.

Lire la suite »

Préférez const et inline aux #define

Les macros du C c'est mal, vous ne devriez pas les utiliser en C++. En effet, C++ fournit tout un tas de mécanismes permettant de combler les lacunes du C. Il faut privilégier le compilateur au préprocesseur. Il ne faut donc pas utiliser #define pour créer des constantes ou des fonctions.

Lire la suite »

Préférez les commentaires C++ à ceux du C

Les commentaires multi-lignes du C /* ... */ fonctionnent également en C++ mais vous devriez éviter de les utiliser. Le commentaire de fin de ligne C++ // ... a des avantages indéniables.

Lire la suite »

Utiliser les vecteurs de la STL

Les tableaux dynamiques, c'est bien mais ce n'est pas très pratique. Une fois leur taille fixée, on ne peut plus la changer. Comme il est rare que l'on connaisse cette taille à l'avance, on a tendance à la surdimensionner pour être tranquille, ce qui engendre une surconsommation de mémoire. La STL fournit la solution à ce problème. En effet, elle propose de nombreux conteneurs très utiles. Celui auquel nous allons nous intéresser aujourd'hui, le plus simple d'entre-eux est std::vector. Il ressemble fort à un tableau mais présente de nombreux avantages notamment en termes d'accès et il est capable de s'agrandir lorsque sa mémoire est pleine. Il est également plus sécurisé. Le vecteur est le conteneur que vous devez utiliser par défaut.

Lire la suite »

Améliorez votre code avec const

Le mot-clé const est malheureusement très peu utilisé par les programmeurs, soit par oubli, soit parce qu'ils jugent ce mot-clé inutile ou encore parce qu'ils ne connaissent pas les bienfaits qu'il procure. Pourtant, il devrait être considéré comme un réel atout du C++ parce qu'il rend le style de programmation meilleur : plus rapide, plus robuste, plus sécurisé, etc.

Lire la suite »

Installer Visual C++ Express 2008 avec wxWidgets et boost

Il est possible de développer gratuitement et avec efficacité des applications commerciales grâce aux outils libres tels que wxWidgets et boost et de l'EDI gratuit Visual C++ 2008 dans sa version Express. Ce tutoriel vous présentera toutes les étapes qui vous permettront de mettre en place ces trois composants. À vous d'adapter si vous souhaitez n'utiliser que boost ou wxWidgets.

Lire la suite »