《VC静态库封装、调试.ppt》由会员分享,可在线阅读,更多相关《VC静态库封装、调试.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、静态库封装、调试主要内容n库的简单介绍n静态库封装n静态库调试库的简单介绍主控程序1主控程序n程序开发过程中造成功能相同代码的重复库n功能n库1功能1库2功能2功能模块1功能模块2功能模块n库的简单介绍无库静态链接库动态链接库变量函数类接口用户应用程序库源代码编译、链接过程SourceProgramPreprocessorCompilerAssemblyCodeAssemblerObjectProgramLinkerExecutablesLoaderstatic-linkingdynamic-linking库的简单介绍静态链接库动态链接库lib中的指令都被直接包含在最终EXE文件中,静态库修改
2、时需要重新链接多个线程使用同一个静态库时,内存会有同一库的多个拷贝不能再包含其他的动态链接库或者静态库执行文件,不能单独运行,对外提供接口地址。“动态”地引用和卸载相关DLL文件,只要对外接口不变无需重新链接多个线程可共享,内存中只有一个拷贝可以再包含其他的动态或静态链接库静态库封装n在VC+6.0中new一个名称为libTest的static library工程,并新建lib.h和lib.cpp两个文件,lib.h和lib.cpp的源代码如下:n/文件:lib.h#ifndef LIB_H#define LIB_Hextern C int add(int x,int y);/声明为C编译、连
3、接方式的外部函数#endifn/文件:lib.cpp#include lib.hint add(int x,int y)return x+y;n编译这个工程就得到了一个.lib文件,这个文件就是一个函数库,它提供了add的功能。将头文件和.lib文件提交给用户后,用户就可以直接使用其中的add函数了。静态库链接n在libTest工程所在的工作区内new一个libCall工程。libCall工程仅包含一个main.cpp文件,它演示了静态链接库的调用方法,其源代码如下:n#include#include.lib.h#pragma comment(lib,.debuglibTest.lib)/指定与静态库一起连接int main(int argc,char*argv)printf(2+3=%d,add(2,3);静态库链接配置运行环境静态库调试n首先建立一个static_lib工程或者直接将写好的static_lib工程导入工作区n在同一工作区建立测试平台testlib工程