Creazione di DLL in Microsoft Visual C ++ 6.0
Esempio 1: lavorare dalla riga di comando
Ora creiamo una DLL di una riga. Ecco la fonte:
extern "C" __declspec(dllexport) void myfun(int * a){*a = - *a; }
Salvalo nel file myfun.cpp e compilarlo dal prompt del DOS con:
cl -LD myfun.cpp
L'opzione -LD dice di generare una DLL. Successivamente creiamo un eseguibile, che chiama la DLL. Ecco la fonte:
#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";
}
Salvalo nel file main.cpp. Quindi compilare e collegare dal prompt dei comandi con:
cl main.cpp /link myfun.lib
Eseguilo dalla riga di comando (digita semplicemente "main").
Esempio 2: utilizzo dell'IDE di VC ++ per creare la DLL
In Microsoft Visual C ++ 6.0, è possibile creare una DLL selezionando il tipo di progetto Win32 Dynamic-Link Library o il tipo di progetto MFC AppWizard (dll).
Il codice seguente è un esempio di una DLL creata in Visual C ++ utilizzando il tipo di progetto 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