在头文件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相关推荐

  1. VC程序编译成exe后需msvcr100.dll、msvcp100.dll才能运行的解决方法

    问题: vVC程序编译成exe运行提示缺少msvcr100.dll.msvcp100.dll文件. 要点: 1.将编译模式设置为 Release 模式,选择对应的Win平台32位或64位: 2.设置设 ...

  2. wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本

    wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本 wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本 使用 O ...

  3. 在mingw编译环境下为dll添加版本信息

    在工程中,常常需要为dll添加版本信息,如果有vs工程比较好办,但是没有vs,在Mingw下也不难,通过对网上资料的搜集及验证,特分享. 1.假设有obj.c文件,内容如: #include<s ...

  4. c#动态编译并动态生成dll

    /// <summary>/// 动态编译并执行代码/// </summary>/// <param name="code">代码</pa ...

  5. 主讲: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 ...

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

    VC环境可以开发win32 DLL和MFC DLL:下面来开发一个MFC DLL:Win7, VC6: 新建一个MFC exe工程:名为mfcddd:在同级目录下新建一个文件夹,名为mfcbin: 默 ...

  7. 如何正确创建DLL和使用DLL

    如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明,如何正确的导出DLL中的类.对象.函数,并如何通过静态加载或动态加载的方式来使用DLL. 一.DLL中导出类.函数.对象 1. 创建一个 ...

  8. c++显式加载dll并使用DLL的类

    转载自:  http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/ 首先需要强调,当使用某个类时一般 ...

  9. Win32 DLL和MFC DLL 中封装对话框

    Win32 DLL和MFC DLL 中封装对话框 分类: 挂挂2007-07-02 12:36 3344人阅读 评论(1) 收藏 举报 现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是 ...

  10. 静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件。

    静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件. 一. 静态链接库(LIB,也简称"静态库")与动态链接库(DLL,也简称"动态库 ...

最新文章

  1. R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率
  2. 读样章、写评语,即有机会获赠《编程大师访谈录》!
  3. Java 多线程使用
  4. 11种你需要了解的物联网(IoT)协议
  5. 模拟命令行自动输入的HTML,HTML5 命令行界面仿真和自动打字动画
  6. 《大话数据结构》第9章 排序 9.8 归并排序(上)
  7. windowbuilder怎么加背景图_小红书引流:爆款笔记封面图怎么做?(内附教程)...
  8. 550什么意思_布草知识 | 都是羽绒,为什么价格大不同?
  9. bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名
  10. .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
  11. 号码卡JAVA算法---猜车牌号
  12. 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (6)
  13. Winserver普通域用户账户无权限启动停止系统服务(启动停止按钮是灰色)
  14. IDEA远程调试代码
  15. 嵌入式、单片机之间的区别
  16. KiCad快速修改PCB线宽
  17. 保险初识经验汇总(重疾、医疗、寿险、意外)
  18. mysql里面的时间函数
  19. Java8——Stream流
  20. 密码学之RSA与AES加密解密在项目中的应用

热门文章

  1. 无线路由器“无线漫游”
  2. 声音管理AudioManager
  3. MySQL的基本使用
  4. 前端使用sm2、sm3加密解密 案例
  5. 前端之HTML基础扫盲
  6. 精神小伙: 写代码是世界上最好的工作, 不接受反驳
  7. 2019年8月8日星期四(系统编程)
  8. 人脸识别选这几家就对了!
  9. 四年级计算机使用登记表,小学音乐器材使用登记表.doc
  10. Ubuntu16.04+kinetic+cartographer创建三维地图与二维地图