VS2010下生成dll的方法(更新)

之前学习VS2010下面生成dll的方法总结了一篇博客《VS2010下生成dll的方法》,近来发现其实可以做的更简洁。

首先,在选择了生成dll的工程中,头文件“myAPI.h”中定义函数可以如下:

#ifndef _MYAPI_H
#define _MYAPI_H

_declspec(dllexport) int ADD(int a, int b);

#endif

然后在“myAPI.cpp”中自定义函数体实现。其实头文件中这个 “_declspec(dllexport)”不加同样可以编译生成dll,但是不会生成相应的 .lib 文件,不利于后续编译。

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

#ifndef _API_H
#define _API_H

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

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

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

你可能感兴趣的:(C++,api,VS2010,dll)