MATLAB 2018a与VS2015混合编程一 ---- 动态链接库基础
1、在VS2015中创建动态链接库
首先打开VS2015软件,然后建立一个Win32项目,命名为MyDLL,如图所示。
在应用程序向导中选择DLL,如下图所示。
点击完成,在项目中加入MyDLL.h和MyDLL.cpp文件。
添加如下代码:
#pragma once
#ifdef MYLIBAPI_C
#else
#define MYLIBAPI_C extern "C" __declspec(dllimport)
#endif
#ifdef MYLIBAPI_C_PLUS_PLUS
#else
#define MYLIBAPI_C_PLUS_PLUS extern "C" __declspec(dllimport)
#endif
MYLIBAPI_C_PLUS_PLUS int Add(int a, int b);
MYLIBAPI_C int Sub(int a, int b);
#include "stdafx.h"
//MyDLL.cpp
#ifdef MYLIBAPI_C
#else
#define MYLIBAPI_C extern "C" __declspec(dllexport)
#endif
#ifdef MYLIBAPI_C_PLUS_PLUS
#else
#define MYLIBAPI_C_PLUS_PLUS extern "C" __declspec(dllexport)
#endif
#include "MyDLL.h"
MYLIBAPI_C_PLUS_PLUS int Add(int a, int b)
{
return (a + b);
}
MYLIBAPI_C int Sub(int a, int b)
{
return (a - b);
}
编译一下,可以在Debug文件夹下看到MyDLL.dll文件,如下图所示:
2、调用C++动态库(在这里我们采用隐式调用的方式)
新建一个项目,命名为MyDLLTest,如下图所示。
添加MyDLLTeat.cpp
将之前生成的MYDLL.dll MYDLL.lib MYDLL.cpp MYDLL.h复制到相应的文件夹下。
在项目属性里添加头文件路径。项目-》属性-》C/C+±》常规-》附加包含目录,添加头文件路径(默认路径即可)。
调用动态链接库。
#include "MyDLL.h"
#pragma comment (lib,"C:\\Users\\DELL\\Desktop\\C++ Test\\181118\\MyDLLTest\\Debug\\MyDLL.lib") //必不可少
int main()
{
int a = 2;
int b = 1;
int c = Add(a, b);
int d = Sub(a, b);
return 0;
}
END