C++创建和使用动态链接库

        以前没有做dll的习惯,写的代码也是自己用。现在的工作需要把自己的代码封装好了移植到别人的系统中,dll就必不可少了。

        根据自己的工程,写一个小示例:

        编译环境:

        windows 7

        VS 2008

        工程原来是基于console的,现在改成基于dll的。

        第一步

        修改 项目属性->配置属性->常规->配置类型 中 应用程序(.exe) 为 动态库(.dll)。

        第二步

        将原来的main函数所在文件删掉,添加自己的动态库类文件keyptdetdll .h和.keyptdetdllcpp。

        keyptdetdll .h和.keyptdetdllcpp文件 与 普通的类文件基本相似,不同之处在于在于这里添加的.h文件在开始处:

#ifndef KEYPTDETDLL_H
#define KEYPTDETDLL_H

#ifdef  KEYPT_EXPORT
#define KEYPTDETDLL __declspec(dllexport)
#else
#define KEYPTDETDLL __declspec(dllimport)
#endif

         __declspec(dllexport) 修饰使 DLL 能够导出该功能以供其他应用程序使用。在类声明中,加入该修饰符:     

class KEYPTDETDLL IKeyPointDetector
{
public:
	IKeyPointDetector();
	~IKeyPointDetector();
public:
	
};

        第三步

        加入类的其它功能,就可以编译、链接了。由于之前是由console转为dll的,所以就需要将输出文件的名字改为后缀为dll的名字(项目属性->配置属性->链接器->常规->输出文件)。链接成功后,会看到相应的lib 和 dll 文件。

        第四步,调试和测试。

        一般会在一个解决方案下再加入一个工程,便于调试和测试生成的dll。

        这个测试工程需要在 项目属性->配置属性->链接器->附加依赖项 中添加上一步生成的lib文件,并且在 项目属性->配置属性->链接器->附件依赖库 中加入dll所在路径,然后就可以进行调试和测试了。


        没做之前还觉得挺复杂,运行成功后觉得还是挺简单的。


参考:http://msdn.microsoft.com/zh-cn/library/ms235636.aspx

转载请注明:http://blog.csdn.net/shaoxiaohu1/article/details/15075287

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值