• 使用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,...) 

  • 相关阅读:
    url 记录
    tvm
    const flold
    spring
    java连接mysql数据库
    linux常用命令记录
    pikachu漏靶场洞测试
    Starting.....
    IOS App提交流程
    InApp Purchase(iap)快速指南
  • 原文地址:https://www.cnblogs.com/handsome1013/p/9359937.html
Copyright © 2020-2023  润新知