欢迎来到天天文库
浏览记录
ID:39991522
大小:273.00 KB
页数:10页
时间:2019-07-16
《vc静态库封装、调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、静态库封装、调试主要内容库的简单介绍静态库封装静态库调试库的简单介绍主控程序1主控程序n程序开发过程中造成功能相同代码的重复库n功能n库1功能1库2功能2功能模块1功能模块2功能模块n库的简单介绍无库静态链接库动态链接库变量函数类接口用户应用程序库源代码编译、链接过程SourceProgramPreprocessorCompilerAssemblyCodeAssemblerObjectProgramLinkerExecutablesLoaderstatic-linkingdynamic-linking库的简单介绍静态链接库动态链接库①lib中的指令都被直接包含在最终EXE文件中,静态库修改时
2、需要重新链接②多个线程使用同一个静态库时,内存会有同一库的多个拷贝③不能再包含其他的动态链接库或者静态库①执行文件,不能单独运行,对外提供接口地址。“动态”地引用和卸载相关DLL文件,只要对外接口不变无需重新链接②多个线程可共享,内存中只有一个拷贝③可以再包含其他的动态或静态链接库静态库封装在VC++6.0中new一个名称为libTest的staticlibrary工程,并新建lib.h和lib.cpp两个文件,lib.h和lib.cpp的源代码如下://文件:lib.h#ifndefLIB_H#defineLIB_Hextern"C"intadd(intx,inty);//声明为C编
3、译、连接方式的外部函数#endif//文件:lib.cpp#include"lib.h"intadd(intx,inty){returnx+y;}编译这个工程就得到了一个.lib文件,这个文件就是一个函数库,它提供了add的功能。将头文件和.lib文件提交给用户后,用户就可以直接使用其中的add函数了。静态库链接在libTest工程所在的工作区内new一个libCall工程。libCall工程仅包含一个main.cpp文件,它演示了静态链接库的调用方法,其源代码如下:#include#include"..lib.h"#pragmacomment(lib,".
4、.\debug\libTest.lib")//指定与静态库一起连接intmain(intargc,char*argv[]){printf("2+3=%d",add(2,3));}静态库链接配置运行环境静态库调试首先建立一个static_lib工程或者直接将写好的static_lib工程导入工作区在同一工作区建立测试平台testlib工程
此文档下载收益归作者所有