文档章节

c 静态库与动态库

memristor
 memristor
发布于 2014/05/31 16:40
字数 342
阅读 23
收藏 0

创建库可以在多个程序中复用相同的代码

#include<>代表标准头文件,通常unix在/usr/local/include或/usr/include下寻找头文件, window在mingw下的include中寻找

#include"" 本地目录


如何共享.h 文件?

  1. 将头文件保存在标准库中,使用#include<>

  2. 在include语句中使用完整路径名, #include "/home/weiwei/clib/encrypt.h"

  3. 告诉编译器去哪里需找头文件 ,-Ixxx 意思除了默认头文件搜索路径(比/usr/include等)外同时还路径xxx下搜索需要被引用头文件.

用完整路径名共享.o目标文件


使用文件存档就可以一次性告诉编译器需要哪一批目标文件,更加方便,存档中包含多个.o文件

存档命令 ar

ar -rcs    r表示如果a文件存在,就更新,c表示创建文档时不显示反馈信息,s表示在创建a文件的时候建立索引

.a文件都是以lib开头的,存档是静态库,可以把存档保存在标准目录,也可以放在其他目录中

[weiwei@localhost lib]$ ar -rcs libstr.a encrypt.o len.o

静态库调用

[weiwei@localhost lib]$ gcc main.c -L/home/weiwei/Desktop/c/lib -lstr  -o main

-L选项告诉编译器去哪个目录去找 -l后面跟存档名


© 著作权归作者所有

共有 人打赏支持
memristor
粉丝 44
博文 203
码字总数 176319
作品 0
长沙
程序员
Head First C 第八章 静态库与动态库 创建动态库

Head First C 第八章 静态库与动态库 创建动态库 动态库是什么 静态库文件,需要在链接过程中和主程序链接在一起,如果你想改变某个部分的功能,或者发布不同版本,就需要修改这个代码并全部...

AlexTuan
2016/04/02
33
0
静态库和动态库

静态库和动态库 ASPIRE2017-01-1127 阅读 gccLinux =Start= 缘由: 补充系统知识 正文: 参考解答: 我们通常把一些公用函数制作成函数库,供其它程序使用(代码的复用)。函数库可分为静态库...

ASPIRE
2017/01/11
0
0
Linux下静态库和动态库(共享库)的制作与使用

Linux下静态库和动态库(共享库)的制作与使用 Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。linux系统有几个重要的目录存放相应的函数库,如/lib /usr/lib。 静态函数库...

木雨山
2011/07/29
0
0
C语言库的制作

制作C语言库 编写头文件,在文件内声明要用到的函数, libh.h #include <stdio.h> // 两数相加 int add(int a, int b); // 绝对值 int mabs(int a); 编写c语言库源码文件, 在文件内定义之前...

首席撸起水泡
2016/01/08
71
0
JSP标签回顾

1.内置标签 a.请求转发: b.动态页面包含: 注:静态包含和动态包含的区别 1) 语法不同 静态包含语法: 动态包含语法: 2)参数传递不同 静态包含不能向被包含页面传递参数 动态包含可以向被包...

Mr_欢先生
2017/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
34分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
35分钟前
17
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
36分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
46分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部