linux so库生成(一)
来源:互联网 发布:js移除节点 编辑:程序博客网 时间:2024/06/11 00:15
Dear!
先贴个大众版,希望逐字理解,有益!
$gcc -shared -Wl,-soname,libhello.so.1 -o libhello.so.1.0 hello.o
另外再建立两个符号连接:
$ln -s libhello.so.1.0 libhello.so.1
$ln -s libhello.so.1 libhello.so
这样一个libhello的动态连接库就生成了。最重要的是传gcc -shared 参数使其生成是动态库而不是普通执行程序。 -Wl 表示后面的参数也就是-soname,libhello.so.1直接传给连接器ld进行处理。实际上,每一个库都有一个soname,当连接器发现它正在查找的程序库中有这样一个名称,连接器便会将soname嵌入连结中的二进制文件内,而不是它正在运行的实际文件名,在程序执行期间,程序会查找拥有 soname名字的文件,而不是库的文件名,换句话说,soname是库的区分标志。 这样做的目的主要是允许系统中多个版本的库文件共存,习惯上在命名库文件的时候通常与soname相同 libxxxx.so.major.minor 其中,xxxx是库的名字,major是主版本号,minor 是次版本号
Do you understand?
1 0
- linux so库生成(一)
- Linux 下动态链接库 *.so(生成、调用)
- 转:Linux如何生成.so库文件
- linux so 库的生成与调用
- linux C++生成.so动态链接库
- linux下生成动态链接库.so
- Linux生成和使用so库
- linux下生成so库及调用
- Linux上FFmpeg生成so库
- Linux生成动态库.so与生成静态库.a
- AS使用JNI生成so简单使用(一)
- linux .so 生成与调用
- Linux下生成.so文件
- 生成.so库
- 关于如何在linux环境下生成a库和so库(改,附图)
- Linux-(C/C++)动态链接库生成以及使用(libxxx.so)
- Linux-(C/C++)动态链接库生成以及使用(libxxx.so)
- Android增量更新(三)-差分文件(Linux)-生成jar和.so库
- zoj 1067 Color Me Less
- Linux 性能监测工具
- bgdmdgbgdmdg240090bgdmdg
- 使用sysbench进行cpu/IO/内存/OLTP等基准测试
- 一点KeepAlive的知识
- linux so库生成(一)
- 关于EclipseLink 2.5.0 HashPartition小BUG的关注
- 网络协议
- Android UI 详解之AlertDialog
- 关于安卓相机拍照的一些问题
- silverlight查询功能
- QML与c++交互
- oracle flashback 闪回
- android如何将资源打入jar并对资源进行保护