Compilación y uso de biblioteca de vínculos dinámicos Dll - versión simple

提示:以下是本篇文章正文内容,下面案例可供参考

1. Generar DLL

1. Cree un proyecto para generar una DLL, como se muestra en la figura a continuación.
inserte la descripción de la imagen aquí
2. Haga clic en Siguiente y configúrelo como se muestra en la figura a continuación. Si la DLL generada es para la aplicación MFC, marque la casilla de verificación MFC.
inserte la descripción de la imagen aquí
3. Después de hacer clic en Finalizar, el proyecto generado es el siguiente. El sistema generará ejemplos de clases exportadas, variables exportadas y funciones exportadas para nosotros. Podemos seguir el ejemplo para agregar los tipos exportados correspondientes.
inserte la descripción de la imagen aquí4. Agregue la función de "suma, resta, multiplicación y división" sobre la base de este ejemplo, el código es el siguiente.
archivo myDll.h

#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
// 此类是从 myDll.dll 导出的
//导出类
class MYDLL_API CmyDll {
    
    
public:
 CmyDll(void);
 // TODO:  在此添加您的方法。
 int Mul(int a, int b);
 int Div(int a, int b);
};

//导出变量
extern MYDLL_API int nmyDll;

//导出函数
MYDLL_API int fnmyDll(void);
MYDLL_API int Add(int a, int b);
MYDLL_API int Sub(int a, int b);

archivo myDll.cpp

#include "stdafx.h"
#include "myDll.h"
// 这是导出变量的一个示例
MYDLL_API int nmyDll=0;

// 这是导出函数的一个示例。
MYDLL_API int fnmyDll(void)
{
    
    
    return 42;
}
// 这是已导出类的构造函数。
// 有关类定义的信息,请参阅 myDll.h
CmyDll::CmyDll()
{
    
    
    return;
}
/*函数实现*/
MYDLL_API int Add(int a, int b)
{
    
    
 return a + b;
}
MYDLL_API int Sub(int a, int b)
{
    
    
 return a - b;
}
int CmyDll::Mul(int a, int b)
{
    
    
 return a * b;
}
int CmyDll::Div(int a, int b)
{
    
    
 return a / b;
}

5. Haga clic con el botón derecho en el nombre del proyecto y seleccione Generar para generar archivos dll y lib, y los archivos generados se encuentran en el archivo de depuración.
inserte la descripción de la imagen aquí

2. Uso de archivos DLL

1. Cree un nuevo proyecto
Cree un nuevo proyecto useDll bajo la solución original y use el DLL en este proyecto.
inserte la descripción de la imagen aquí
2. Cree el archivo useDll.cpp bajo el proyecto useDll, el código es el siguiente.

#include <iostream>
#include "../myDll/myDll.h"

#pragma comment (lib, "../Debug/myDll.lib")

int main()
{
    
    
 int a = 6, b = 2;
 //使用导出函数
 std::cout << "a + b = " << Add(a, b) << std::endl;
 std::cout << "a - b = " << Sub(a, b) << std::endl;
  //使用导出类
 CmyDll myDll;
 std::cout << "a * b = " << myDll.Mul(a, b) << std::endl;
 std::cout << "a / b = " << myDll.Div(a, b) << std::endl;
  //使用导出变量
 std::cout << "nmyDll = " << nmyDll << std::endl;
  std::getchar();
}
 

3. Haga clic con el botón derecho en el nombre del proyecto y configure useDll como el proyecto de inicio. Después de compilar, los resultados de la ejecución son los siguientes.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/NICHUN12345/article/details/127342198
Recomendado
Clasificación