在头文件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. Android:面试官死亡问答,如何优化一个网络请求?大牛多个网络优化方案帮你解决!
  2. 【git】几大区概念
  3. jdom 插入 修改 删除
  4. python len函数_知识清单Python必备的69个函数,你掌握了吗?
  5. notepad++的NppFTP插件远程连接linux操作系统
  6. C#并发编程之异步编程(一)
  7. java分页数据导出excel
  8. SSM整合Druid数据库连接池
  9. 打开Jupyter Notebook 时报错:EnvironmentLocationNotFound: Not a conda environment:
  10. python安装好后打不开_解决安装pyqt5之后无法打开spyder的问题
  11. Alex 的 Hadoop 菜鸟教程: 第7课 Hbase 使用教程
  12. 数字图像处理:对数变换
  13. mysql+tinyint+符号_mysql中TINYINT的取值范围
  14. 大点干!早点散----------深入剖析LVS负载均衡群集原理
  15. 360浏览器怎么添加拓展(有图文步骤)
  16. JAV迷你共享单车项目
  17. 高维统计理论 Gauss与Rademacher复杂度
  18. java面试常见设计模式
  19. 移动端电子签名,签名内容移动缩放,生成合同图片(uniapp)
  20. 2022年广东省安全员A证第三批(主要负责人)考试练习题及在线模拟考试

热门文章

  1. Google是如何通过拆股增强控制权的?
  2. 刘强东的代码水平到底有多牛?
  3. 最近发现了一个高清计算机电子书和源码的网址
  4. linux卸载informatica,Informatica在linux下安装搭建
  5. 智能电源插座和电灯开关全国产化电子元件推荐方案
  6. 公司尽然把cnblogs给屏蔽了,可恶!!!
  7. 牛客网刷题 | SQL
  8. 2D转3D技术的优势
  9. 为什么机器人不会抢走你的工作?
  10. 一个完全平方数是指一个数乘以自己,例:625=25^2; 特殊的完全平方数是指不仅是完全平方数而且平方后的数中有两个数字是相同的,例: 100=10^2; 144=12^2;