Page d'Accueil

Utilisation de la bibliothèque de C++/CLI

 

Utilisation de la bibliothèque visuelle de C++/CLI

Un des buts les plus importants recherchés dans .NET est de permettre à différentes langues de collaborer, tel que partager le code. Un moyen de rendre ceci possible est de pouvoir utiliser la fonctionnalité d'une langue dans les autres. Comme illustration, nous avons vu plus tôt que vous pourriez utiliser la riche bibliothèque des fonctions visuelles de base dans l'application de C#. Comme aucune bibliothèque n'est jamais complète, vous pouvez encore avoir besoin d'une fonctionnalité qui n'est pas facile à trouver. En outre, vous pouvez travailler avec une équipe de programmeurs de C++ qui ont déjà créé un ensemble de fonctions ou d'opérations complexes. Vous devriez pouvoir utiliser ce code existant.

 

Création d'une bibliothèque

Dans les années précédentes, c'était un défi de créer une bibliothèque, particulièrement en C++. Heureusement, Microsoft Visual C++ à rendu sa céeation particulièrement facile, grace à un assistant qui vous aide beaucoup. Pour créer une bibliothèque, affichez d'abord la nouvelle zone de dialogue de projet. Après spécification de visual C++, dans la liste des modèles, clique la bibliothèque de classe et donner lui un nom. Dans le corps du fichier, vous pouvez créer les classes et/ou les fonctions autant que vous pouvez insérer. Voici un exemple :

// Business.h

#pragma once

using namespace System;

namespace Business {

    public ref class Finance
    {
    public:
	double CalculateDiscount(double MarkedPrice,
		                     double DiscountRate)
	{
		return MarkedPrice * DiscountRate / 100;
	}
    };
}

Une fois que le projet est prêt, vous devez l'établir (sur le menu, la principal Build - > Built Business). En conséquence, le compilateur créerait un fichier avec l'extension .dll :

Librarie

Normalement, aussi longtemps que se crée une bibliothèque, voilà comment.

Utilisation d'une bibliothèque

Créer une bibliothèque dans C++ est facile. Pour l'utiliser, il y a quelques règles que vous devez suivrent. Pour commencer, vous devez veiller à ce que votre projet peut « physiquement » trouver la bibliothèque. Probablement la manière la plus facile de vous occuper de ceci est de copier le fichier .dll et le coller dans le dossier qui contient vos projets exécutables. Vous pouvez également le faire directement dans le visual studio en important le fichier de la bibliothèque comme nous avons vu plus tôt.

Dans votre projet, vous devriez inclure le namespace System.Runtime.InteropServices. Avant la section où la bibliothèque sera accédée, entrez l'attribut DllImport qui prend comme argument le nom de la bibliothèque passé comme chaîne de caractères. Voici un exemple :

using System;
using System.Runtime.InteropServices;
using Business;

namespace DepartmentStore
{
    class Exercise
    {
        [DllImport("Business.dll")]
        public static extern double CalculateDiscount(double price,
                                                      double discount)

        static int Main()
        {
            Finance fin = new Finance();

	    double markedPrice  = 275.50;
	    double discountRate =  25.00; // %
            double discountAmount = fin.CalculateDiscount(markedPrice,
                                                          discountDate);
            double netPrice = markedPrice - discountAmount);

            Console.WriteLine("Marked Price:    {0:C}", markedPrice);
            Console.WriteLine("Discount Rate:   {0:P}", discountRate / 100);
            Console.WriteLine("Discount Amount: {0:C}", discountAmount);
            Console.WriteLine("Net Price:       {0:C}\n", netPrice);

	    return 0;
        }
    }
}

Ceci prépare votre code de bibliothèque à être utilisé,  ce que vous pouvez faire quand vous désirez n'importe quel autre code. Ceci signifie que vous pouvez compiler votre programme la manière que nous avons fait dans la section précédente.

Utilisation de la bibliothèque Win32

Le logiciel d'exploitation Microsoft Windows a été à l'origine écrit dans le langage C, père des langages C++ et C# (aussi de Java et Javascript). Pour permettre à des programmeurs de créer des applications, Microsoft a libéré la bibliothèque appelée Win32. C'est une série de fonctions et classes, etc., que vous avez dû utlisé précédemment. Comme les temps ont changé, vous n'avez plus besoin d'utiliser exclusivement Win32 pour créer une application de Windows. Néanmoins, Win32 est toujours partout et il n'est pas complètement évitable parce que plusieurs ou certaines des actions que vous voudriez effectuer dans une application de Windows sont encore disponibles seulement dans Win32. Heureusement, dans la plupart des cas, il n'est pas toujours difficile d'utiliser certaines de ces fonctions dans des applications de C#, tant que vous observez quelques règles. Voici un exemple :

using System;
using System.Runtime.InteropServices;

namespace Win32Applied
{
    class Program
    {
        [DllImport("Kernel32.dll")]
        public static extern bool SetConsoleTitle(string strMessage);

        static int Main()
        {
            SetConsoleTitle("C# Programming");

	    return 0;
        }
    }
}
  

Page d'Accueil Copyright © 2007-2008, Yevol