VC静态库封装调试.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态库封装、调试 主要内容 库的简单介绍 静态库封装 静态库调试 库的简单介绍 主控程序1 主控程序n 程序开发过程中造成功能相同代码的重复 库n 功能n 库1 功能1 库2 功能2 功能模块1 功能模块2 功能模块n 库的简单介绍 无库 静态链接库 动态链接库 变量 函数 类 接口 用户应用程序 库 源代码编译、链接过程 Source Program Preprocessor Compiler Assembly Code Assembler Object Program Linker Executables Loader static-linking dynamic-linking 库的简单介绍 静态链接库 动态链接库 ①lib中的指令都被直接包含在最终EXE文件中,静态库修改时需要重新链接 ②多个线程使用同一个静态库时,内存会有同一库的多个拷贝 ③不能再包含其他的动态链接库或者静态库 ①执行文件,不能单独运行,对外提供接口地址。“动态”地引用和卸载相关DLL文件,只要对外接口不变无需重新链接 ②多个线程可共享,内存中只有一个拷贝 ③可以再包含其他的动态或静态链接库 静态库封装 在VC++6.0中new一个名称为libTest的static library工程,并新建lib.h和lib.cpp两个文件,lib.h和lib.cpp的源代码如下: //文件:lib.h #ifndef LIB_H #define LIB_H extern C int add(int x,int y);   //声明为C编译、连接方式的外部函数 #endif //文件:lib.cpp #include lib.h int add(int x,int y) { return x + y; } 编译这个工程就得到了一个.lib文件,这个文件就是一个函数库,它提供了add的功能。将头文件和.lib文件提交给用户后,用户就可以直接使用其中的add函数了。 静态库链接 在libTest工程所在的工作区内new一个libCall工程。libCall工程仅包含一个main.cpp文件,它演示了静态链接库的调用方法,其源代码如下: #include stdio.h #include ..\lib.h #pragma comment( lib, ..\\debug\\libTest.lib )  //指定与静态库一起连接 int main(int argc, char* argv[]) { printf( 2 + 3 = %d, add( 2, 3 ) ); } 静态库链接 配置运行环境 静态库调试 首先建立一个static_lib工程或者直接将写好的static_lib工程导入工作区 在同一工作区建立测试平台testlib工程

文档评论(0)

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

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

1亿VIP精品文档

相关文档