zoukankan      html  css  js  c++  java
  • 使用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,...) 

  • 相关阅读:
    Python 学习笔记(七)Python字符串(三)
    Python 学习笔记(七)Python字符串(二)
    Python 学习笔记(六)Python第一个程序
    Python 学习笔记(五)常用函数
    Python 学习笔记(四)数字(二)
    行为型模式之责任链模式
    python_frm组件
    django之models学习总结
    HTTP协议
    事件委托
  • 原文地址:https://www.cnblogs.com/handsome1013/p/9359937.html
Copyright © 2011-2022 走看看