Aide-mémoire sur les pointeurs et références en C++

Le but de cet article est de rappeler quelques éléments de syntaxe sur les pointeurs et références en C++. Sommaire Déclaration par valeur Référence Pointeur Référence managée (en C++/CLI) Pointeur et réference dans les appels de fonctions Arguments de fonctions Retour de fonction Membres d’une classe Comparaison d’objets On considère la classe suivante: Point.h Point.cpp…

Continuer à lire

Appeler des dépendances C++ à partir d’un exécutable .NET AnyCPU

Il existe différentes méthodes pour appeler des dépendances natives à partir de .NET (cf. Appeler des DLL natives à partir de .NET). Ces méthodes ont en commun de devoir charger la bibliothèque native de façon à exécuter le code qui s’y trouve. Le chargement de DLL par l’application appelante implique que l’architecture de cette dernière…

Continuer à lire

Installer une assembly native dans WinSxS

Plusieurs méthodes sont possibles pour référencer des dépendances natives: consommer des dépendances en utilisant des bibliothèques statiques, des bibliothèques dynamiques, référencer un objet avec une interface COM etc… Suivant le cas d’utilisation, chacune de ces méthodes peut s’avérer plus intéressante qu’une autre. Par exemple, utiliser des bibliothèques dynamiques a le grand avantage d’apporter une modularité…

Continuer à lire

Appeler des DLL natives à partir de .NET

Parfois quand on veut effectuer un traitement particulier, utiliser un middleware propriétaire ou simplement utiliser une bibliothèque tiers, on ne dispose pas forcément d’assembly .NET permettant d’effectuer ce traitement et il peut être nécessaire d’effectuer des appels à une bibliothèque codée en C++. Cette bibliothèque native peut être livrée sous forme d’une bibliothèque statique (fichier…

Continuer à lire

Référencer une DLL C++ avec une bibliothèque statique d’import

Dans un projet en C++, quand on souhaite organiser le code dans différentes bibliothèques, on a le choix entre utiliser des bibliothèques statiques et dynamiques. Les bibliothèques statiques sont facilement intégrables dans un projet toutefois si on souhaite la mettre à jour, il faut recompiler tout le projet qui le consomme. Les bibliothèques dynamiques sont,…

Continuer à lire

C++/CLI en 10 min: Références

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Références Livres: Microsoft Visul C++/CLI Step by Step: https://www.amazon.com/Microsoft-Visual-CLI-Step-Developer/dp/0735675171 Expert Visual C++/CLI: .NET for Visual C++ Programmers: https://www.amazon.com/Expert-Visual-CLI-Programmers-Experts/dp/1590597567 Sams Teach Yourself C# in 21 Days: https://www.amazon.fr/Sams-Teach-Yourself-21-Days/dp/0672320711 Généralités: C++/CLI Cheat Sheet: http://manski.net/2011/04/cpp-cli-cheat-sheet/ Introduction au monde du C++/CLI:…

Continuer à lire

C++/CLI en 10 min, partie 4: Syntaxe détaillée

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Dans cette partie, on détaille la syntaxe d’autres éléments en C++/CLI. Sommaire nullptr typedefs namespace Héritage   Méthode virtuelle   Sealed Méthode statique et classe statique Classe abstraite Interface Les chaines de caractères   Chaines de caractères non managées…

Continuer à lire

C++/CLI en 10 min, partie 3: Syntaxe des éléments de base

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Cette partie permet d’expliquer la syntaxe des éléments de base du code C++/CLI. La syntaxe d’autres éléments sera détaillée dans la partie suivante. Sommaire Définition et instanciation des objets   Classes non managées   Structures non managées   Objets…

Continuer à lire

C++/CLI en 10 min, partie 2: Caractéristiques générales

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Le langage C++/CLI est un langage qui permet de manipuler à la fois des objets managés et non managés. Cette caractéristique rend ce langage plus complexe à implémenter car il rend la plupart des mécanismes d’interoperabilité…

Continuer à lire

C++/CLI en 10 min

PARTIE 1 PARTIE 2 PARTIE 3 PARTIE 4 Préambule Rappels C++ Caractéristiques générales Syntaxe de base Syntaxe détaillée Références Le C++/CLI (CLI pour Common Language Infrastructure) est une technologie Microsoft qui permet de manipuler et d’appeler du code natif en C ou en C++ à partir de code managé .NET. Il s’agit d’un langage qui…

Continuer à lire