linux/Unix 动态so文件初识

原创 2016年08月29日 23:27:11

linux/Unix 动态so文件初识

1.so文件是什么?

ELF格式文件,共享库(动态库),类似于DLL。节约资源,加快速度,代码升级简化。

2.怎么生成以及使用一个so动态库文件?

1.编写第一个so文件库,在终端输入

vim libtest.c

libtest.c代码

#include <stdio.h>  
// 打印消息的函数
void print_str(const char *str)  
{
     printf("%s\n",str); 
}  
  1. 编译libtest.c 为动态库 libtest.so
gcc -O -fpic -shared -o libtest.so libtest.c

3.使用刚刚编译好的动态库

编写test.c

#include <stdio.h>  
// 声明刚刚动态库里打印消息的函数
void print_str(const char *str);  
int main(int argc, char const *argv[])
{
    print_str("this is my first so program");
    return 0;
}

编译运行

gcc -o test test.c ./libtest.so
./test

linux下so动态库一些不为人知的秘密

linux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名。二者都使用广泛。本文主要讲动态库方面知识。        基本上每一个linux 程序都至少会有一个动态库,查...
  • suwei19870312
  • suwei19870312
  • 2014年02月27日 13:16
  • 8163

Linux 调用动态库(.SO文件)总结

像window调用库文件一样,在linux下,也有相应的API因为加载库文件而存在。它们主要是以下几个函数: 函数名 功能描述 dlopen 打开对象文件,...
  • wsk004321
  • wsk004321
  • 2014年07月16日 10:37
  • 4957

Linux动态链接库.so文件的命名及用途总结

我们在linux下开发项目,有时会对外提供动态库,像***.so.1.0.0这样子的文件,另外提供相应的头文件。用户拿到动态库和头文件说明,就可以使用动态库里的function。 那随之而来的一...
  • zhanglianpin
  • zhanglianpin
  • 2016年01月10日 14:07
  • 6491

Linux动态链接库.so文件的创建与使用

  • 2012年03月12日 20:21
  • 382KB
  • 下载

Unix/Linux环境C编程入门教程(36) 初识shell

题目如下: 现有1个点和10000个位置半径各不同的圆,为了判断改点被包含在哪些圆内,需要一个函数判断点(px,py)是否于圆心(x,y)半径r的圆内,请尽快优化运行速度。 函数原型: bool Is...
  • yincheng01
  • yincheng01
  • 2014年07月22日 20:35
  • 1412

Linux动态链接库.so文件的命名及用途总结

我们在linux下开发项目,有时会对外提供动态库,像***.so.1.0.0这样子的文件,另外提供相应的头文件。用户拿到动态库和头文件说明,就可以使用动态库里的function。 那随之而来的一...
  • zhanglianpin
  • zhanglianpin
  • 2016年01月10日 14:07
  • 6491

Linux动态链接库.so文件的创建与使用

1. 介绍        使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使...
  • sunboy_2050
  • sunboy_2050
  • 2012年03月12日 19:32
  • 45470

结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用剖析Linux环境下动态库.so文件

结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用 剖析Linux环境下动态库.so文件
  • u010317005
  • u010317005
  • 2016年08月31日 14:40
  • 3009

Linux动态链接库.so文件的创建与使用

1. 介绍         使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他...
  • oria2006
  • oria2006
  • 2012年12月14日 13:47
  • 291

linux下动态库so文件的一些认识 和 gcc编译的几个阶段

个人创作,欢迎指错。  牵扯到ELF格式,gcc编译选项待补,简单实用的说明一下,对Linux下的so文件有个实际性的认识。  1.so文件是什么?  2.怎么生成以及使用一个so动态库文件? ...
  • missingu1314
  • missingu1314
  • 2013年03月15日 17:17
  • 630
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux/Unix 动态so文件初识
举报原因:
原因补充:

(最多只允许输入30个字)