linux 动态库的创建与使用
来源:互联网 发布:范尼凯克400 知乎 编辑:程序博客网 时间:2024/05/20 20:47
我使用的最简单的例子,运行一遍基本就熟悉了。
一、动态库的创建
创建一个hello.c为源文件的动态库
#include <stdlib.h>#include <stdio.h>void hello(void){printf("Hello World\n");}
编译:gcc -shared -fpic -o libhello.so hello.c
-shared :生成一个共享目标文件, 他可以和其他目标文件连接产生可执行文件. 只有部分系统支持该选项。
-fPIC:如果支持这种目标机, 编译器就输出位置无关目标码. 适用于动态连接(dynamic linking),即使分支需要大范围转移。
-fpic : 如果支持这种目标机, 编译器就生成位置无关目标码. 适用于共享库(shared library)。
二、动态库的使用
创建一个名为test.c的测试文件
#include <stdlib.h>#include <stdio.h>#include <stdio.h>int main(int argc, char **argv){hello();return 0;}编译前添加下环境变量:export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
编译:gcc -o test test.c -L. -lhello
-L.:表示要连接的库在当前目录中。
编译好后:ldd test
会发现全都能链接上,如果不添加环境变量会发现hello这个库并没有链接上。
- linux 动态库的创建与使用
- Linux动态库的创建与使用
- Linux静态库和动态库的创建与使用
- linux---静态库与动态库的创建、生成、使用
- LINUX系统中动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- linux动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- LINUX动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- LINUX系统中动态链接库的创建与使用
- Linux下动态库的创建与使用
- LINUX系统中动态链接库的创建与使用
- Linux动态链接库.so文件的创建与使用
- Linux动态链接库的创建与使用
- CDN技术
- 土坷垃的情怀
- C#笔记整理(1)C#初步
- Android平台下使用HttpUrlConnection
- 基于十六进制传输的字符串校验算法
- linux 动态库的创建与使用
- 初学Android,短信管理器之发送短信(六十五)
- Android Audio代码分析10 - audio_track_cblk_t::framesReady函数
- Android去掉标题栏和全屏以及设置修改Android超时休眠时间
- C#笔记整理(2)C#语言基础
- “王鹏你妹”让人笑不起来
- Activity启动过程
- IOS程序内发短信 MFMessageComposeViewController
- 念,心随君浅舞天涯