Компиляция и применение DLL библиотеки динамической компоновки

предисловие

Эта статья в основном предназначена для того, чтобы помочь вам написать и использовать DLL простым способом. В интернете есть много объяснений, что такое DLL, так что я не буду здесь нести чушь.

Реализовать функцию

1. Функция экспорта DLL
2. Класс экспорта DLL

1. Создайте DLL

1. Создайте новый пустой проект проекта C++, здесь имя проекта — myDll
2. Создайте файлы myDll.cpp и myDll.h
3. Напишите следующий код:
файл myDll.h
Примечание. Используйте ключевое слово __declspec(dllexport) для извлечения из данных экспорта DLL, функции, класса или функции-члена класса

#pragma once
//导出函数
__declspec(dllexport) int Add(int a, int b);  //加法函数
__declspec(dllexport) int Sub(int a, int b);  //减法函数

//导出类
class __declspec(dllexport) CMyDll
{
    
    
public:
 int Mul(int a, int b); //乘法函数
 int Div(int a, int b); //除法函数
 };

файл myDll.cpp

#include "myDll.h"
/*函数实现*/
int Add(int a, int b)
{
    
    
 return a + b;
}
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;
}

4. Создайте файл библиотеки динамической компоновки dll.
1) Настройте свойства проекта, как показано на рисунке ниже.
вставьте сюда описание изображения2) Щелкните правой кнопкой мыши имя проекта и выберите «Создать», чтобы сгенерировать файлы dll.
вставьте сюда описание изображения5. Создайте файлы библиотеки статической компоновки lib
. 1) Настройте свойства проекта, как показано. на рисунке ниже
вставьте сюда описание изображения
2) Щелкните правой кнопкой мыши имя проекта, выберите «Создать», чтобы сгенерировать файл lib.
вставьте сюда описание изображения

2. Использование DLL

1. Создайте новый пустой проект проекта C++, здесь имя проекта — useDll
2. Создайте файл useDll.cpp
3. Возьмите файлы dll, lib и myDll.h, сгенерированные проектом myDll, и поместите их в проект useDll
вставьте сюда описание изображения
4 , Добавьте файл myDll.h в проект useDll
вставьте сюда описание изображения
5. Код useDll.cpp выглядит следующим образом.

#include <iostream>
#include "./include/myDll.h"
#pragma comment (lib, "./dll/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::getchar();
 }

6. Щелкните правой кнопкой мыши имя проекта useDll и выберите «Создать», чтобы сгенерировать исполняемый файл.Результаты
выполнения следующие:
вставьте сюда описание изображения

Supongo que te gusta

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