VS2008静态库和动态库的创建和调用.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VS2008静态库和动态库的创建和调用

VS2008静态库和动态库的创建和调用1静态库的创建和调用(1)创建libTest静态库工程创建一个Win32Project命名为libTest,点击OK, 弹出下一页面.点击Next进入下一页面.选择Static Library,和默认的Precompiled hearder.然后点击Finish.创建完成如下:然后分别在HeaderFiles和SourceFiles下分别添加libTest.h和libTest.cpp文件.在libTest.h添加代码如下:#ifndef LIB_TEST_H#define LIB_TEST_Hvoid PrintFun(void);int AddFun(int x, int y);#endif //LIB_TEST_H在libTest.cpp添加代码如下:#include stdafx.h#include libTest.h#include iostreamusing namespace std;void PrintFun(void){cout 调用静态库函数 endl;}int AddFun(int x, int y){return x + y;}然后编译生成静态库libTest.lib.(该文件默认生成在debug中)(2)调用动态库创建一个Win32 Console控制台工程.工程名叫TestLib如下:创建完成后,在TestLib.cpp文件中代码如下:#include stdafx.h#include libTest.h //调用静态库中的头文件#include iostream#pragma comment (lib, libTest.lib) //连接.lib文件using namespace std;int _tmain(int argc, _TCHAR* argv[]){PrintFun();;//调用静态库函数cout 输入两个参数, 15 endl;cout AddFun(10, 15): AddFun(10, 15) endl; ;//调用静态库函数getchar();return 0;}把静态库工程中的libTest.h和libTest.lib文件拷贝到TestLib工程的目录文件下.一定要指定正确头文件和库文件的路径.运行结果如下:2 动态库(DLL)的创建与调用1创建动态库工程创建一个工程名称为dllTest的Win32 Project.点击OK,进入下一页面点击Next 进入下一页面,选择DLL和Export symbols(集成工具提供的部分例子代码)点击Finish.工程建立成功.现在查看dllTest.h中的代码// This class is exported from the dllTest.dllclass DLLTEST_API CdllTest {public:CdllTest(void);// TODO: add your methods here.};extern DLLTEST_API int ndllTest;DLLTEST_API int fndllTest(void);这部分代码是自动提供的导出类,导出变量,导出函数声明.查看dllTest.cpp中代码// This is an example of an exported variableDLLTEST_API int ndllTest=0;// This is an example of an exported function.DLLTEST_API int fndllTest(void){return 42;}// This is the constructor of a class that has been exported.// see dllTest.h for the class definitionCdllTest::CdllTest(){return;}这部分代码是自动提供的导出类,导出变量,导出函数定义和实现.上面这部分代码是提供的模板.现在要写自己的函数调用方法.在dllTest.h添加代码//自己添加的函数调用extern C DLLTEST_API int MaxFun(int x, int y);extern C DLLTEST_API int AddFun(int x, int y);extern C DLLTEST_API void PrintFun(void);说明:extern C 防止GetProcAddress返回错误代码127(但这样可能会不能实现C++的函数重载-个人理解)在dllTest.cpp添加代码#include windows.h#include iostreamusing namespace std;//自

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档