gcc创建,使用静态库
来源:互联网 发布:linux清理db2表空间 编辑:程序博客网 时间:2024/06/06 23:50
静态库是一些目标代码的集合.LInux环境下的静态库目标文件一般以.a作为目标文件的扩展名.Linux环境下使用ar命令创建一个静态库.静态库的优点在于使用简单,编译快速.静态库在应用程序生成时,已经编译成为可重定位的目标文件,因此可以不必再编译,节省编译时间,以最短的时间生成可执行程序.
假定有文件static_lib.c,内容如下:
int add(int a , int b) {return a + b;}int sub(int a , int b) {return a - b;}int mul(int a , int b) {return a * b;}int div(int a , int b) {return a / b;}用下面命令编译,生成一个可重定位的目标文件,命令如下:
gcc -c static_lib.c
再使用以下命令创建静态库:
ar rcs static_lib.a static_lib.o
其中ar是创建静态库的命令,rcs是3个参数.r表示把列表中的目标文件加入到静态库中;c表示若指定库不存在,则创建该库文件;s表示更新静态库文件的索引,使之包含新加入的目标文件的内容.
使用静态为时要编写一个头文件static_lib.h内容如下所示:
extern int add(int a, int b);extern int sub(int a, int b);extern int mul(int a, int b);extern int div(int a, int b);主函数main.c内容如下所示:
#include <stdio.h>#include "static_lib.h"int main() {int a, b;printf("please input a and b\n");scanf("%d%d", &a, &b);printf("the add : %d\n", add(a, b));printf("the sub : %d\n", sub(a, b));printf("the mul : %d\n", mul(a, b));printf("the div : %d\n", div(a, b));return 0;}使用-static选项对静态库进行引用,整个命令如下所示:
gcc main.c -static ./static_lib.a -o app
以上命令生成了可执行文件app,执行以下命令运行:
./app
0 0
- gcc创建,使用静态库
- GCC创建使用静态库,动态库
- gcc创建和使用静态库、动态库
- gcc创建和使用静态库、动态库
- gcc创建和使用静态库、动态库
- gcc创建和使用静态库、动态库
- gcc创建和使用静态库、动态库 转载
- gcc创建和使用动态库、静态库
- gcc创建和使用静态库、动态库
- gcc创建和使用静态库、动态库
- gcc的静态库和动态库创建和使用
- gcc 创建静态库和动态库
- GCC+ LINUX +创建静态链接库
- gcc创建,使用动态库
- gcc 学习笔记-创建静态库-创建动态库
- gcc使用静态库和动态库
- gcc编译使用静态库/动态库
- gcc使用静态库和动态库
- LeetCode Convert Sorted List to Binary Search Tree
- ios数据解析篇
- Android mediaplayer
- Activiti学习笔记
- DOM 小结
- gcc创建,使用静态库
- hudoj1001——Sum Problem
- POJ 2352 Stars
- 敏捷开发之伤——站会
- adb详解
- 如何让你的简历脱颖而出
- java final和abstract类
- 有你真好
- 快速排序、归并排序