在MFC扩展DLL项目中如何导出静态类成员变量

MFC扩展DLL导出对话框类的实现---VS2005 基于深入浅出讲的比较泛,根据找到的网上的资料的修改,因为真正实践发现不少资料有小bug。总结出下面两个例子: Demo 1 点击较多的这篇MFC扩展DLL导出对话框类,做了少量修改 【在网上看了一下,关于“dll导出对话框类”的搜索,基本上都是2个人的帖子,大家各种转载,创建的类一个名字叫CDlgDog,另一个叫GameDlg。纵观天下大事,合久必分分久必合,blablabla……】 创建类D 阅读详情

先建一个MFC扩展DLL项目。加入类定义:

 

在这个简单例子中,我全部内联了。

 

(注意:Cirle的定义中没有使用AFX_EXT_CLASS而是使用了DLL_EXPORT是因为我要导出静态变量,否则使用时会出错)

编译生成dll和lib。

新建使用的工程,在linker->input->Additional Dependencies中加入刚刚的lib文件。

输入代码:

MFC扩展DLL项目生成的DLL被调用出现的问题汇总 在MFC DLL中有三种项目类型:使用共享MFC DLL的常规DLL、MFC扩展DLL、静态链接MFC的常规DLL。其中“MFC扩展DLL”主要针对MFC项目而提供DLL接口的,其作用可以生成普通的类,MFC包括界面的资源即对话框也可以被生成DLL文件供给主调用者程序使用。 MFC扩展DLL的使用步骤: 1.如果单纯建立MFC项目,就使用MFC扩展DLL项目就好。 2.接口使用... 阅读详情

相关推荐

VC++6 开发MFC扩展DLL以及MFC DLL可以包含界面

VC环境可以开发win32 DLL和MFC DLL;下面来开发一个MFC DLL;Win7, VC6; 新建一个MFC exe工程;名为mfcddd;在同级目录下新建一个文件夹,名为mfcbin; 默认的exe输出目录; 改为如下; 生成exe后; 新建一个mfc dll工程;名为myddd; 选择MFC 扩展DLL;MFC扩展DLL可以导出类; 在dll添加一个类; 设置dll和Lib文件输出路径; /out:"…/…/mfcbin/myddd.dll" /implib:"…/…/mfcbi

bcbobo21cn的专栏 607

导出与导入C++ DLL小记

先建一个MFC扩展DLL项目。加入类定义: //Point.hclass AFX_EXT_CLASS Point{private: int _x; int _y;public: explicit Point(int x, int y): _x(x), _y(y) {} int get_x() {return _x;} int get

thy专栏 2507

掌握Win32 DLL与MFC扩展DLL技术的实践案例

静态库,或称为归档库(archive libraries),是一组目标文件(通常是 obj 文件)的集合,这些目标文件在编译过程中被合并到最终的可执行文件中。它允许开发者将频繁使用的代码模块化,当多个程序需要使用相同的功能时,可以避免重复代码的编译。静态库的文件通常具有 lib 扩展名,在链接阶段与主程序一起被编译。MFC扩展DLL,也称为Regular DLL或Extension DLL,是专门设计用来扩展MFC库功能的。

weixin_42613018的博客 890

用模块定义文件的方法调用DLL,获取其导出的全局变量值

<br />在ExternVarDll.def中添加:<br /> <br />;在DLL中导出变量<br />LIBRARY "ExternVarDll"<br />DESCRIPTION "实现一个导出变量的DLL"<br />EXPORTS<br />     myVar DATA<br /> <br />在ExternVar.cpp中添加:<br />#include "ExternVar.h"<br />#include "Windows.h"<br />char* myVar;<br />//D

zhoulingjie311的专栏 2036

解析VC中创建DLL,导出全局变量,函数和类的深入分析

一.创建DLL1.在VC中新建一个Win32空项目MathLib;2.添加预编译头文件stdafx.h,定义导入导出控制符号: 代码如下://stdafx.h#pragma once#define MATHLIB_EXPORT3.添加包含要导出的全局变量,函数和类的头文件MathLib.h: 代码如下: //MathLib.h #pragma once #ifdef MATHLIB_EXPORT #define MATHLIBAPI __declspec(dllexport) #else #define MATHLIBAPI __declspec(dllimport) #endif //mac

华为MA5620配置宽带及语音实例

华为EPON配置实例1、公共部分和宽带PPPOE部分用串口用户名密码root/mduadminMA5620E>enableMA5620E#configMA5620E(config)#MA5620E(config)#sysnamebigcow/给设备起名字/****之前为公共部一、建vlan和地址bigcow(config)#vlan100...

weixin_33862041的博客 6348

C++ dll针对类中的静态变量导出,调用时候链接提示找不到该符号的错误

查了很久,大家都惜字如金,我尽量能让代码能运行,新建一个类的dll 头文件: #ifdef TEST_STATIC_DLL_EXPORTS #define TEST_STATIC_DLL_API __declspec(dllexport) #else #define TEST_STATIC_DLL_API __declspec(dllimport) #endif class TEST_ST...

十方御道的博客 1573

radsystems的激活(破解)和使用

上个文章讲述了radsystems的下载,但是只有30天的免费使用权,这篇文章将会讲解如何破解激活radsystems。注意:如果不想去官网下载的话,点击安装包的exe文件。不要急,打开我给你们的安装包,点击crack。如果提示done则完成(我的是激活过的)注意:这是8.7版本的。点击generate。

weixin_65144487的博客 3529

类静态成员变量的导出问题

在DLL编写时,使用__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN里面是怎么说的:   “不使

slshelly的专栏 9270

储能逆变器动态无功补偿:从原理到算法实现

本文深入解析了储能逆变器动态无功补偿的核心原理与算法实现。通过四象限运行与解耦控制技术,储能逆变器可在充放电的同时,快速、精准地调节无功功率,有效提升电网电能质量与功率因数。文章详细阐述了从相位调节、容量限制到PI控制算法的完整技术路径,并结合工程实践,探讨了其在光伏/储能系统中的协同控制策略与进阶应用价值。

weixin_29216353的博客 207

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 419

[MFC]MFC下的DLL编程——扩展DLL

扩展DLL实例 ExtDll项目 1.新建项目ExtDll:MFC DLL-->选择:MFC 扩展DLL(E)-->完成。 2.添加导出类:右击项目,添加类-->MFC类-->类名:CCompute,基类:CObject。 Compute.h文件 //Compute.h #pragma once // CCompute 命令目标 class AFX_EXT_CLASS CCompute

超越 2391

YF-S401水流量传感器在STM32上的精准计量实现

本文详细介绍了YF-S401水流量传感器与STM32微控制器的集成应用,实现精准水流计量。通过外部中断和外部时钟两种脉冲计数方案,结合硬件配置、软件滤波和校准技巧,确保高精度流量测量。适用于智能家居和工业自动化中的水控系统,提升系统稳定性和测量准确性。

rainy的博客 897

MFC扩展DLL编程

本文将讨论如何利用MFC来创建不同类型的DLL,以及如何使用他们。一、DLL的不同类型    使用MFC可以生成两种类型的DLL:     A.MFC扩展DLL     B.常规DLL       常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL   每个DLL都有某种类型的接口:变量、指针、函数、客户

benny5609的专栏 1148

Happycapy深度解析:AI智能体的“iPhone时刻“来了?

从理论到实践深度解析了融合OpenClaw和ClaudeCode优点的超强智能体工具Happycapy

program哲学 458

YOLOV26详解 从原理到部署

计算机视觉领域最具影响力的目标检测框架迎来重大里程碑。2026年1月,Ultralytics 正式发布 YOLOv26——这不是一次简单的版本迭代,而是一场面向边缘计算时代的架构重构。本专栏基于 Ultralytics 官方技术白皮书、YOLO Vision 2025 大会首发内容及国际前沿研究成果,系统拆解 YOLOv26 从算法原理到工程落地的全栈技术体系。与常规教程不同,我们聚焦与,帮助你在端侧 AI 部署的实战中掌握核心竞争力。

u012133341的博客 2028

mfc调用c语言dll,MFC扩展DLL中导出类和对话框的实现方法

本文实例讲述了MFC扩展DLL中导出类和对话框的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对话框。程序运行结果如下图所示:一、创建MFC扩展DLL步骤:运行Visual Studio ...

weixin_35045900的博客 508

微信小程序 - 实现身份证OCR识别人像面与国徽面并提取字段信息,详解从手机相册选取或打开摄像头拍照上传身份证正反面图片ocr文字识别数据填充表单(提供免费纯前端ocr识别插件+百度OCR识别API)

微信小程序身份证识别,微信小程序身份证拍照、上传并OCR识别,微信小程序实现OCR扫描识别,微信小程序识别身份证免费插件,微信小程序实现身份证识别功能。ocr识别插件。微信身份证拍照后进行ocr识别,微信小程序OCR扫描识别身份证,OCR身份证实名认证+图片上传+拍照上传图片,微信小程序之身份证照片正反上传,小程序OCR身份证识别,微信小程序实现文字识别-ocr插件,微信小程序利用百度AI实现扫描身份证获取信息功能,基于微信小程序OCR插件实现身份证拍照、上传并OCR识别的示例demo,将上传的照片传到服务

🏆 前端领域优质创作者 8138

调用mfc扩展型dll使用对话框

怎样在扩展DLL中使用对话框 VC++6.0 new->MFC AppWizard(dll) 输入名称ExtDll 选择MFC Extension DLL(using shared MFC DLL) Finish. 添加对话框IDD_DLLDIALOG 为对话框创建新类 class CExtDialog : public CDialog 删掉ExtDialog.cpp中的#

wzw_0827的专栏 2479

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VS2019 MFC DLL动态链接库(MFC 扩展库)封装例程 MFC 扩展库[一]

如上图所示为导出MFC DLL并导入到工程应用的实例,从实例看出导出的MFC DLL能正常使用,说明导出过程正确无误。C++的动态链接库封装是一个较为复杂的工程,本人也是通过应用了解到其中的冰山一角,希望能跟大家一起进一步升入学习和了解DLL的运行机制。.........

lzc881012的博客 3934

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MFC和DLL

1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别:(1) 静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。(2)

瀚海长空 1182

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

静态/共享的规则MFC DLL/MFC扩展DLL详解

在编写MFC程序的时候,通常需要编写dll库以供其他程序调用。关于MFC dll的相关知识很多很杂,这里特酷吧结合自己学习中遇到的问题专门整理了一些MFC dll的基础知识。本部分共上下两篇文章,本文为上篇,MFC DLL应用程序类型分为以下三种: (1)使用共享MFC DLL的规则DLL (2)带静态链接MFC的规则DLL (3)MFC扩展DLL 下面重点解释一下这些DLL的含义区别: 一,规则...

迪迦 • 奥特曼 924

常规DLL和MFC扩展DLL(转载)

本文将讨论如何利用MFC来创建不同类型的DLL,以及如何使用他们。 一、DLL的不同类型    使用MFC可以生成两种类型的DLL:     A.MFC扩展DLL     B.常规DLL       常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。1、MFC扩展DLL   每个DLL都有某种类型的接口:变量、指针、函数、客

Wendysuly的专栏 781

MFC扩展DLL

MFC扩展DLL        MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CBtatic,CButton等类使之具备更强大的能力。        MFC中包含一些宏,这些宏在D

blueshelly的专栏 1187
上一篇: 自己写了一个可变参数的泛型模板
下一篇: 一个判断相乘是否溢出的小例子
thy38
博客等级 码龄19年 184粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值