静态库配置:
静态库生成exe后直接把静态库删掉,.exe仍然可以运行。
staticlib工程:
staticlib.h:
#pragma once #include//加法 实现两个数想加 int myAdd(int a, int b);
staticlib.c:
#include "mylib.h" int myAdd(int a, int b) { return a + b; }
测试代码:
新建工程:静态库测试
#include "mylib.h" //程序入口 int main(void) { int ret = myAdd(10, 20); printf("%dn", ret); system("pause"); //按任意键暂停 阻塞功能 return EXIT_SUCCESS; }
缺点:更新部署发布非常麻烦。
动态库:
mydll动态库工程
mydll.h
#pragma once #include//导入 只能在当前项目中使用 //int mySub(int a, int b); //导出函数 能在项目外部使用 __declspec 特殊声明 __declspec (dllexport) int mySub(int a, int b); //动态库生成的.lib文件 和 静态库生成的.lib文件不同 //动态库中的.lib只会存放一些导出函数的声明和一些变量的声明,而具体的实现,存放在.dll文件中
mydll.c
#include "mydll.h" int mySub(int a, int b) { return a - b; }
测试代码:新建mydll测试项目
#include//malloc free 标准库文件 #pragma comment(lib, "./mydll.lib") //程序入口 int main(void) { int ret = mySub(10, 10); printf("%dn", ret); system("pause"); //按任意键暂停 阻塞功能 return EXIT_SUCCESS; }
下方欢迎扫码关注《迈克尔升学编程》,与我一起学习,共同进步,领略编程世界的魅力艺术。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)