码迷,mamicode.com
首页 > 其他好文 > 详细

vs生成dll

时间:2015-02-26 21:37:40      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

//sub.h

#ifndef _SUB_H
#define _SUB_H
_declspec(dllexport) void sub(int a,int b);
#endif

 

//sub.cpp
#include "sub.h"
#include <iostream>

void sub(int a,int b)
{
    std::cout<<(a-b)<<std::endl;
}

 

选静态或者动态,静态生成.lib,动态生成.lib和.dll

 

最后使用是其实只需要用到 "sub.h", "sub.lib" 和 "sub.dll"即可,建议可以如下重新生成一个接口声明文件替代“sub.h”交予用户,这个“api.h”内容如下:

 

#ifndef _API_H
#define _API_H

#pragma comment(lib, "sub.lib")
_declspec(dllimport) int ADD(int a, int b);

#endif

其中 “_declspec(dllimport)" 同样可以去掉不要。此外,基本上VS下面 _declspec(dllexport)和 _declspec(dllimport)互相替换同样可以编译通过,其实作用不大,貌似是为了兼容老版本或VC的。但是,个人感觉在正确的地方使用dllexport或dllimport可以是程序更清晰。

 

这一版总结较上一版最大的区别就是减少了冗余的生命,是的模块间关系更清晰。

vs生成dll

标签:

原文地址:http://www.cnblogs.com/mejliu/p/4302077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!