c++ 编译DLL和使用DLL
在头文件test.h里
#ifdef TEST_API
#define TEST_API __declspec(dllexport)
#else
#define TEST_API __declspec(dllimport)class TEST_API TEST_CLASS
{public:void Print();
}
在DLL编译时TEST_API被定义为_declspec(dllexport),而且客户端程序编译时它被定义为_declspec(dllimport)
编译后生成DLL文件和LIB文件,他们的含义是动态链接库和静态链接库,里面包含了已定义的类
在使用时,头文件#include test.h,同时在VS里工程——属性——配置属性——VC++目录,包含目录里包含test.h的所在目录,建议test.h放到使用的工程目录下,库目录包含Lib文件的所在目录,同样建议lib文件放在使用的工程目录下,最后在链接器——输入——附加依赖项中添加Lib文件,另外,将DLL文件放到工程编译生成的EXE文件的同一级目录。这样就可以使用DLL文件了。
c++ 编译DLL和使用DLL相关推荐
- VC程序编译成exe后需msvcr100.dll、msvcp100.dll才能运行的解决方法
问题: vVC程序编译成exe运行提示缺少msvcr100.dll.msvcp100.dll文件. 要点: 1.将编译模式设置为 Release 模式,选择对应的Win平台32位或64位: 2.设置设 ...
- wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本
wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本 wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本 使用 O ...
- 在mingw编译环境下为dll添加版本信息
在工程中,常常需要为dll添加版本信息,如果有vs工程比较好办,但是没有vs,在Mingw下也不难,通过对网上资料的搜集及验证,特分享. 1.假设有obj.c文件,内容如: #include<s ...
- c#动态编译并动态生成dll
/// <summary>/// 动态编译并执行代码/// </summary>/// <param name="code">代码</pa ...
- 主讲:A1(老吴) 时间:2004-10-22 15:00 主题:0一点点编译。1解决DLL与EXE沟通时String和其它Memory的问题.2公布hmOlevariants.pas 3成批...
主讲:A1(老吴) 时间:2004-10-22 15:00 主题: 0>一点点编译. 1>解决DLL与EXE沟通时String和其它Memory的问题. 2>公布hmOlevaria ...
- VC++6 开发MFC扩展DLL以及MFC DLL可以包含界面
VC环境可以开发win32 DLL和MFC DLL:下面来开发一个MFC DLL:Win7, VC6: 新建一个MFC exe工程:名为mfcddd:在同级目录下新建一个文件夹,名为mfcbin: 默 ...
- 如何正确创建DLL和使用DLL
如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明,如何正确的导出DLL中的类.对象.函数,并如何通过静态加载或动态加载的方式来使用DLL. 一.DLL中导出类.函数.对象 1. 创建一个 ...
- c++显式加载dll并使用DLL的类
转载自: http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/ 首先需要强调,当使用某个类时一般 ...
- Win32 DLL和MFC DLL 中封装对话框
Win32 DLL和MFC DLL 中封装对话框 分类: 挂挂2007-07-02 12:36 3344人阅读 评论(1) 收藏 举报 现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是 ...
- 静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件。
静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件. 一. 静态链接库(LIB,也简称"静态库")与动态链接库(DLL,也简称"动态库 ...
最新文章
- R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率
- 读样章、写评语,即有机会获赠《编程大师访谈录》!
- Java 多线程使用
- 11种你需要了解的物联网(IoT)协议
- 模拟命令行自动输入的HTML,HTML5 命令行界面仿真和自动打字动画
- 《大话数据结构》第9章 排序 9.8 归并排序(上)
- windowbuilder怎么加背景图_小红书引流:爆款笔记封面图怎么做?(内附教程)...
- 550什么意思_布草知识 | 都是羽绒,为什么价格大不同?
- bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名
- .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- 号码卡JAVA算法---猜车牌号
- 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (6)
- Winserver普通域用户账户无权限启动停止系统服务(启动停止按钮是灰色)
- IDEA远程调试代码
- 嵌入式、单片机之间的区别
- KiCad快速修改PCB线宽
- 保险初识经验汇总(重疾、医疗、寿险、意外)
- mysql里面的时间函数
- Java8——Stream流
- 密码学之RSA与AES加密解密在项目中的应用