Linux C:生成、调用静态库/动态库,.a,.so
来源:互联网 发布:晟元数据 编辑:程序博客网 时间:2024/05/01 22:02
一、代码
1.1 说明
hello.h、hello.c是生成库的代码。
main.c是调用库的代码。
1.2 代码
hello.h:
#ifndef HELLO_H#define HELLO_Hvoid hello(const char* name);#endif
hello.c:
#include <stdio.h>#include "hello.h"void hello(const char* name){ printf("Hello %s\n", name);}
main.c:
#include "hello.h"int main(){ hello("everyone!"); return 0;}
二、生成、调用静态库(.a)
2.1 生成静态库
生成hello.o:
gcc -c hello.c
生成静态库libmyhello.a:
ar cr libmyhello.a hello.o
2.2 调用静态库
使用静态库编译程序
gcc -o hello main.c -L. -lmyhello
执行程序
./hello
三、生成、调用动态库(.so)
3.1 生成动态库
生成hello.o:
gcc -c -fPIC hello.c
生成动态库libmyhello.so:
gcc -shared -fPIC -o libmyhello.so hello.o
3.2 调用动态库
使用动态库编译程序
gcc -o hello main.c -L. -lmyhello
将动态库到/usr/lib64目录
动态库默认到/usr/lib64目录下查找
mv libmyhello.so /usr/lib64
执行程序
./hello
3.3 运行结果
参考资料:
在Linux中创建静态库.a和动态库.so:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html
0 0
- Linux C:生成、调用静态库/动态库,.a,.so
- 静态库*.a和动态库*.so生成及调用
- Linux生成动态库.so与生成静态库.a
- c语言生成静态库.a和动态库.so
- Golang生成共享库(shared library)以及Golang生成C可调用的动态库.so和静态库.a
- so-a--linux---静态--动态--链接库
- linux-C直接调用SO动态库和生成SO动态库的函数
- Golang与C互用以及调用C的so动态库和a静态库
- gcc生成.a.so静态库和动态库文件
- gcc生成.a静态库和.so动态库文件
- gcc生成.a静态库和.so动态库文件
- gcc 生成 .a静态库和 .so动态库
- gcc生成.a静态库和.so动态库文件
- GCC生成.a静态库与.so动态库
- Linux下生成.so(动态连接库).a(静态连接库的)例子 --- 转
- linux 静态库(.a)、动态库(.so)的创建生成和使用方法
- Linux下生成静态库.a文件和动态库.so文件
- linux下静态库.a与.o生成动态库.so
- js 创建对象的三种方式——工厂模式、构造函数模式、原型模式
- “400 Bad Request”解决办法及Unity下载文件保存到本地
- 巧用enum来获取std::tuple中的元素
- Java提高篇(三六)-----java集合细节(二):asList的缺陷
- SpringMvc easyUi Mybatis Spring , demo简单的例子
- Linux C:生成、调用静态库/动态库,.a,.so
- Tomcat日志系统详解
- 生成随机时间
- Android EventBus实战
- 用volley实现android加载网络图片(一)以及感受
- Java设计模式 观察者模式(Observer)
- 巧妙的...【可变数组】参数校验非空工具类
- ProgressDialog的属性
- SCI 期刊投稿过程