本文介绍了如何使用Visual Studio 2017创建动态链接库(DLL),以便于VB6.0应用程序调用。首先新建C++动态链接库项目,然后创建dll.cpp、dll.h和dll.def文件,定义__stdcall函数,接着通过dll.def文件标准化函数名称。在Release模式下生成DLL后,使用dependency工具检查缺失依赖。最后在VB中声明并调用DLL函数。
摘要由CSDN通过智能技术生成
C++在上位机软件开发中使用非常普遍,然而其又具有上手难、开发时间较长的特点,故在开发一些软件的时候,可以采用VB+/C++混编的方式:即采用C++将一些通用且固定的程序制作成动态链接库,由VB去调用,这样一来,开发过程就会相对容易很多。
现以VS2017为例说一下制作动态链接库文件的流程和一些需要注意的问题:
1、建立工程:打开VS2017后,新建项目,因为VS2017较之前的开发版本做了不小的改动,故依次点选visual c++/windows 桌面/windows桌面向导,再选择“动态链接库”、“预编译头”即可。
2、需要依次新建dll.cpp、dll.h、dll.def这三个文件,其代码示例依次如下:
__stdcall:代表可被其它语言调用
dll.def的作用是使函数名称可以
虽然
vb
可以把资源存在*.RES的资源文件里,一起编译成exe。但如果要换肤、多语言支持,显然
DLL
更方便
如何把图片、图标、自定义资源存放在
DLL
里面?下面我Step by Step教大家。
VB
只能
创建
Activex
DLL
,所以用VC++
创建
纯正的
DLL
,这样的
DLL
无需注册(基于COM的才要注册)。下面以VC++ 6.0为例(VC++ 2005也差不多)。
1.打开VC++ 6.0,
简介:在
VB6
.0中,
动态
调用API函数是一种利用Windows底层功能的有效技术。本
教程
通过实例演示如何
使用
API函数实现屏幕像素获取、进程控制、消息提示和系统音效等操作。我们将通过
Declare
语句声明和调用API函数,并学习错误处理和
类
型转换。
教程
内容涵盖GetPixel、OpenProcess、MessageBox...
1.文件→新建→项目→
Visual
C++→Windows 桌面→
动态
连接库(
DLL
)2.输入项目名称。如VsCpp
Dll
Vb6
,确定3.右键项目名VsCpp
Dll
Vb6
→添加→新建项→C++ 文件(.cpp)→名字随便如默认的 源.cpp4.CPP里面写上你的函数代码如#include "stdafx.h"
int __stdcall test1(int a, int b, int c)...
大部分参考:https://blog.csdn.net/m0_37170593/article/details/76445972
记录中间遇到的问题
生成
dll
解决方案的时候报错
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "void __cdecl AddAnAdd(int,int (__cdecl*)(int,int))" (?AddAnAdd@@YAXHP6AHHH@Z@Z),该符号在函数 _main 中被引用
DLL
Test D:\vs\
DLL
Test
跟我一样,很多初学者确实很难编写出如题的
DLL
,即使编写出来也经常在调用过程中出现各种问题。我根据摸索写出了一个
DLL
,编译和调用代码获得通过。
以下举例简单说明,具体还有很多问题我也待继续研究。
1.用
Visual
C++ 新建一个Win32控制台
DLL
项目(记得打钩空项目)...
#if defined(WIN32) || defined(WIN64)
# ifdef MY_
DLL
_API //
# define MY_
DLL
__declspec(
dll
export)
# else
# define MY_
DLL
__declspec(
dll
import)
# endif
#else