文档章节

c 静态库与动态库

memristor
 memristor
发布于 2014/05/31 16:40
字数 342
阅读 25
收藏 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
粉丝 45
博文 203
码字总数 176319
作品 0
长沙
程序员
私信 提问
lib和dll的区别,生成以及使用详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/googler_offer/article/details/88526962 静态库:在链接步骤中,连接器将库文件取得所需的代码,复制到生成的...

googler_offer
03/13
0
0
Head First C 第八章 静态库与动态库 创建动态库

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

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

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

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

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

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

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

首席撸起水泡
2016/01/08
93
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
779
11
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
15
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部