一、生成动态链接库:
1、打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_generate->确定
2、出现Win32应用程序向导->下一步->在“应用程序类型”中选择“DLL”->在“附加选项”中选择“空项目”->完成
3、视图->解决方案管理器->右键“头文件”->添加->新建项->选择“头文件”->命名为dll_generate->添加
4、点击进入dll_generate头文件,输入代码:
#pragma once //该宏完成在dll项目内部使用__declspec(dllexport)导出 //在dll项目外部使用时,用__declspec(dllimport)导入 //宏DLL_IMPLEMENT在dll_generate.cpp中定义 #ifdef DLL_IMPLEMENT #define DLL_API __declspec(dllexport) #else #define DLL_API __declspec(dllimport) #endif namespace scsc { double DLL_API Mul(double a, double b); }
5、视图->解决方案管理器->右键“源文件”->添加->新建项->选择“C++文件(.cpp)”->命名为dll_generate->添加
6、点击进入dll_generate源文件,输入代码:
//------------------ dll_generate.cpp ---------------- //注意此处的宏定义需要写在#include "dll_generate.h"之前 //以完成在dll项目内部使用__declspec(dllexport)导出 //在dll项目外部使用时,用__declspec(dllimport)导入 #define DLL_IMPLEMENT #include"dll_generate.h" #include <iostream> using namespace std; namespace scsc { double Mul(double a, double b) { double c = a*b; return c; } }
7、点击生成->生成解决方案->由此可以在“工程文件路径\dll_generate\Debug”中得到dll_generate.dll和dll_generate.lib文件,在“工程文件路径\dll_generate\dll_generate”中得到dll_generate.h文件
二、调用动态链接库:
1、文件->新建->项目->Visual
C++->Win32->Win32控制台应用程序->将名称改为dll_test->确定
2、出现Win32应用程序向导->下一步->在“应用程序类型”中选择“控制台应用程序”->在“附加选项”中选择“空项目”->完成
3、视图->解决方案管理器->右键“源文件”->添加->新建项->选择“C++文件(.cpp)”->命名为main->添加
4、将前面得到的dll_generate.h和dll_generate.lib复制到工程文件路径\dll_test\dll_test中,将dll_generate.dll复制到工程文件路径\dll_test\Debug中
5、视图->解决方案管理器->右键“头文件”->添加->现有项->选择dll_generate.h->添加
6、在main.cpp中输入代码:
//------------------ main.cpp ------------------- #include "dll_generate.h" #pragma comment(lib, "dll_generate.lib") #include <iostream> using namespace scsc; using namespace std; void main() { double a = Mul(3, 2); cout << a << endl; system("pause"); }
7、运行程序,即可看到已成功生成和调用DLL