使用visual studio 2017 创建动态链接库(DLL),供VB6.0使用
https://blog.csdn.net/xtnnyytn/article/details/78149555
C++在上位机软件开发中使用非常普遍,然而其又具有上手难、开发时间较长的特点,故在开发一些软件的时候,可以采用VB+/C++混编的方式:即采用C++将一些通用且固定的程序制作成动态链接库,由VB去调用,这样一来,开发过程就会相对容易很多。
现以VS2017为例说一下制作动态链接库文件的流程和一些需要注意的问题:
1、建立工程:打开VS2017后,新建项目,因为VS2017较之前的开发版本做了不小的改动,故依次点选visual c++/windows 桌面/windows桌面向导,再选择“动态链接库”、“预编译头”即可。
2、需要依次新建dll.cpp、dll.h、dll.def这三个文件,其代码示例依次如下:
__stdcall:代表可被其它语言调用
dll.def的作用是使函数名称可以为标准名称,看起来简单,否则会有如:test1 @8
-
// dlltest2.cpp: 定义 DLL 应用程序的导出函数。
-
//
-
#include "stdafx.h"
-
#include "dlltest2.h"
-
-
int __stdcall test1(int a, int b, int c)
-
{
-
return a + b + c;
-
}
-
-
int __stdcall test2(int a, int b)
-
{
-
return a - b;
-
//dlltest2.h
-
#pragma once
-
-
extern "C" _declspec(dllexport) int __stdcall test1(int a, int b, int c);
-
extern "C" _declspec(dllexport) int __stdcall test2(int a, int b);
-
//dlltest2.def
-
LIBRARY "dlltest2"
-
-
EXPORTS
-
test1 @ 1
-
test2 @ 2
务必要选择release模式
ctrl+f5 生成结果后,生成的结果可以dependency 进行查看,确保没有显示丢失的项目,若有,须网上下载相应控件进行注册安装。
最后,用VB进行声明并调用即可:private declare test1 lib "test.dll" (byval a as integer,...)