1、几年没用 vc 写代码了。偶尔发现之前整理的一些知识点,删除吧又觉得可惜,就拿出来与大家分享下!若发现有神马错误的地方,请留言,不胜感激!邮箱: 环境:windows工具:vc+6.0静态库静态库是后缀名为.lib 的文件。1、 创建静态库第一步:新建工程”Win32 Static Library”, 名字为 test第二步:新建文件,添加头文件 test.h 和源文件 test.c(勾选 Add to project)第三布:在 test.h 文件中输入函数的外部声明。例如:extern “C“ FuctionName(arguments1,.);第四步:在 test.c 文件中输入:#in
2、clude “test.h”,并实现函数第五步:按 F7 编译即在 Debug 或 Release 目录下可生成静态链接库(.lib) 。2、 使用静态库首先必须包含静态库的头文件 #include “xxx.h” 。静态库的链接方式有两种:第一种方式:在代码开头写 #pragma comment (lib, “xxx.lib“)第二种方式:菜单 Project-Setting.-LinkObject/library modules:添加.lib3、 调试静态库静态不能独立运行,因此调试也必须有测试程序。第一种:单独调试静态库设置方法1)菜单 Project-Settings.-Debug(T
3、able 项)Executable for debug session:选择测试程序-ok !2)设置断点(F5) ,和调试 win32 程序一样第二种:测试程序和静态库一起调试1)如果测试程序和库在同一工程下,在库源文件直接设置断点即可调试2)如果不在同一工程下,则需要将两个工程都打开,在库工程中进行配置,设置断点即可。 (配置方法:Project-Settings.-Debug(Table 项)Executable for debug session:测试程序)动态库动态库是后缀名为.dll 的文件。1、 创建动态库第一步:新建工程”Win32 Dynamic-Link Library”,
4、名字为 test第二步:新建文件,添加头文件 test.h 和源文件 test.c(勾选 Add to project)第三步:在 test.h 中写库接口列表。例如:extern “C“ int _declspec(dllexport) FuctionName(arguments);其中,_declspec(dllexport)声明函数为 DLL 的导出函数第四步:在 test.c 文件中引入 test.h,并实现函数。 (注意:动态库的主函数为dllMain,是自动调用的,如果没有系统将调用缺省的)第五步:按 F7 编译,即可在 Debug 或 Release 目录下生成动态链接库。2、 使用动态库第一步:首先必须包含静态库的头文件 #include “xxx.h” 第二步:在代码中进行动态引用,步骤如下:hDll = LoadLibrary(“.dll“); /载入 dll,全路径GetProcAddress(hDll, FileName); /.Free(hDll);3、 调试静态库动态库的调试方法同静态库相同4、 动态库注意事项1、 全局变量生命周期是整个进程运行过程,因此慎用。2、 C+编译器编译源代码时会对函数进行重命名。避免函数重新命名的两种方法有 2 种:在函数前加 extern “C“ 或 在.def 文件中声明导出函数名