使用visual studio 2017 创建动态链接库(DLL),供VB6.0使用

使用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

  1.  
    // dlltest2.cpp: 定义 DLL 应用程序的导出函数。
  2.  
    //
  3.  
    #include "stdafx.h"
  4.  
    #include "dlltest2.h"
  5.  
     
  6.  
    int __stdcall test1(int a, int b, int c)
  7.  
    {
  8.  
    return a + b + c;
  9.  
    }
  10.  
     
  11.  
    int __stdcall test2(int a, int b)
  12.  
    {
  13.  
    return a - b;
  1.  
    //dlltest2.h
  2.  
    #pragma once
  3.  
     
  4.  
    extern "C" _declspec(dllexport) int __stdcall test1(int a, int b, int c);
  5.  
    extern "C" _declspec(dllexport) int __stdcall test2(int a, int b);
  1.  
    //dlltest2.def
  2.  
    LIBRARY "dlltest2"
  3.  
     
  4.  
    EXPORTS
  5.  
    test1 @ 1
  6.  
    test2 @ 2

务必要选择release模式

ctrl+f5 生成结果后,生成的结果可以dependency 进行查看,确保没有显示丢失的项目,若有,须网上下载相应控件进行注册安装。

最后,用VB进行声明并调用即可:private declare  test1 lib "test.dll" (byval a as integer,...) 

原文地址:https://www.cnblogs.com/handsome1013/p/9359937.html