Création de DLL dans Microsoft Visual C ++ 6.0

Exemple 1: Travailler à partir de la ligne de commande

Maintenant, nous créons une DLL sur une ligne. Voici la source:

extern "C" __declspec(dllexport) void myfun(int * a){*a = - *a; }

Enregistrez-le dans le fichier myfun.cpp et compilez-le à partir de l'invite DOS avec:

cl -LD myfun.cpp

Le commutateur -LD dit de générer une DLL. Ensuite, nous créons un exécutable, qui appelle la DLL. Voici la source:

#include iostream.h

extern C __declspec(dllimport) void myfun ( int * a);

void main(void)
{
   int a = 6;
   int b = a;
   myfun(&b);

   cout << '-' << a << " is " << b << "! \n";
}

Enregistrez-le dans le fichier main.cpp. Ensuite, compilez et liez à partir de l'invite de commande avec:

cl main.cpp /link myfun.lib

Exécutez-le à partir de la ligne de commande (tapez simplement «main»).

Exemple 2: Utilisation de VC ++ IDE pour créer une DLL

Dans Microsoft Visual C ++ 6.0, vous pouvez créer une DLL en sélectionnant le type de projet Win32 Dynamic-Link Library ou le type de projet MFC AppWizard (dll).

Le code suivant est un exemple d'une DLL qui a été créée dans Visual C ++ à l'aide du type de projet Win32 Dynamic-Link Library.

// SampleDLL.cpp

#include "stdafx.h"
#define EXPORTING_DLL
#include "sampleDLL.h"

BOOL APIENTRY DllMain(HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
   return TRUE;
}

void HelloWorld()
{
   MessageBox( NULL, TEXT("Hello World"), TEXT("In a DLL"), MB_OK);
}
// File: SampleDLL.h

#ifndef INDLL_H

   #define INDLL_H

   #ifdef EXPORTING_DLL
      extern __declspec(dllexport) void HelloWorld();
   #else
      extern __declspec(dllimport) void HelloWorld();
   #endif

#endif