C语言使用VS2017来封装动态库并使用动态库流程!

  1. 创建项目时选择动态链接库
    C语言使用VS2017来封装动态库并使用动态库流程!_第1张图片
  2. 编写要封装动态库的头文件和实现.c文件(这里封装一个简单数组排序功能做例子)
    头文件:
#pragma once

#ifdef SORT_ARR  //通过对宏定义的判断来使得头文件具有导出使调用导出函数,导入时调用导入函数
#else
#define SORT_ARR __declspec(dllimport)   //导入动态库需要用到的函数
#endif

SORT_ARR void sort_arr(int arr[],int len);

.c实现文件:

#define SORT_ARR __declspec(dllexport)  //在包含头文件前宏定义导出函数
#include "sort_arr.h"

void sort_arr(int arr[], int len) {
	for (int i = 0; i < len; i++) {
		for (int j = 0; j < len - i - 1; j++) {
			if (arr[j] > arr[j + 1]) {
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}
}

C语言使用VS2017来封装动态库并使用动态库流程!_第2张图片
3. 在工程项目DEBUG文件夹下提取文件(sort_arr.h和DLL02.dll和DLL02.lib)

C语言使用VS2017来封装动态库并使用动态库流程!_第3张图片
C语言使用VS2017来封装动态库并使用动态库流程!_第4张图片
4. 将文件移动至你所要用这个动态库的项目路径下(和.c文件同一目录即可)
C语言使用VS2017来封装动态库并使用动态库流程!_第5张图片

  1. 将其添加至项目中去再运行项目即可使用
    C语言使用VS2017来封装动态库并使用动态库流程!_第6张图片
    测试代码如下:
    C语言使用VS2017来封装动态库并使用动态库流程!_第7张图片
    C语言使用VS2017来封装动态库并使用动态库流程!_第8张图片

你可能感兴趣的:(学习时光)