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

相关文章推荐

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

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

Linux下gcc编译生成动态链接库*.so文件并调用它

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一...

Linux下gcc编译生成动态链接库*.so文件并调用它

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一...

linux下生成动态链接库so文件

怎样在linux下生成动态链接库即.so文件? 一、 首先需要一个好的编译工具,直接用gcc命令行编译已经不再是一个明智之举了,一个好的带编译工具的环境是很重要的,我选择的是easyeclip...

linux替换运行程序或so动态库文件导致的问题

linux中替换运行中的程序或者so文件导致的问题

Linux下gcc编译生成动态链接库*.so文件

动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一...

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

Linux动态链接库.so文件的创建与使用 分类: Linux/Shell2012-03-12 19:32 6862人阅读 评论(0) 收藏 举报 linuxlibrarypath...
  • lionzl
  • lionzl
  • 2013年09月19日 14:37
  • 825

android NDK开发及调用标准linux动态库.so文件

预备知识及环境搭建 1、NDK(native development Kit)原生开发工具包,用来快速开发C、C++动态库,并能自动将so文件和java应用一起打包成apk.对应:jni层c++...

linux与windows调用动态库so dll文件

关于动态调用动态库方法说明 一、        动态库概述 1、  动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务...
  • cbbbc
  • cbbbc
  • 2015年04月17日 22:30
  • 2649
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux/Unix 动态so文件初识
举报原因:
原因补充:

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