卟留遗憾灬

卟留遗憾灬

0个粉丝

22

问答

4

专栏

321

资料

卟留遗憾灬  发布于  2020-07-17 15:36:23
采纳率 0%
22个问答
2553

封装静态库

 

怎么封装静态库

我来回答
回答2个
时间排序
认可量排序

卟留遗憾灬

0个粉丝

22

问答

4

专栏

321

资料

卟留遗憾灬 2020-07-17 15:51:35
认可0

比如说:a.c b.c c.h
a.c中包含了c.h,调用了b.c中的函数
b.c中包含c.h。
主函数在a.c中

gcc -c b.c ////////生成b.o
ar rcs libsuibian.a b.o//////////生成libsuibian.a静态库
gcc -o sayhello main.c -static -L. -lsuibian /////生成sayhello可执行文件
./sayhello//运行
rm -r libsuibian.a
./sayhello //运行,能说明静态库在编译过程中会被拷贝到目标程序中,运行时不再需要静态库的存在。

使用静态库内部函数只需要在使用到这些公用函数的源程序中包含这些公用函数的原型声明,然后在用gcc命令生成目标文件时指明静态库名,gcc将会从静态库中将公用函数连接到目标文件中。注意,gcc会在静态库名前加上前缀lib,然后追加扩展名.a得到的静态库文件名来查找静态库文件。因此,我们在写需要连接的库时,只写静态库名就可以,如libsuibian.a的库,只写:-lsuibian

在学了在学了!

3个粉丝

36

问答

104

专栏

162

资料

在学了在学了! 2020-07-17 16:39:57
认可0

不错的分享!mark

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区