linux生成(加载)动态库静态库和加载示例方法

 更新时间:2013年11月26日 10:32:00   作者:  
这篇文章主要介绍了linux生成(加载)动态库静态库示例方法,大家参考使用

动态库的生成:

1、/*mysum.c*/

复制代码 代码如下:

#include <stdio.h>
#include "src.h"


int sum(int a,int b)
{
return (a+b);
}


 

2、/*mysum.h*/

复制代码 代码如下:

#ifndef __SRC_H__
#define __SRC_H__

int sum(int a,int b);

#endif


 

3、/*main.c*/

复制代码 代码如下:

#include <stdio.h>

extern int sum(int a,int b);

/*

#include <stdio.h>

#include "mysum.h"

*/

int main()
{
int a,b,c=0;
printf("input a and b:\n");
scanf("%d %d",&a,&b);
c = sum(a,b);
printf("c = %d\n",c);
return 0;
}


 

4、生成动态库

复制代码 代码如下:

gcc -c -fPIC mysum.c mysum.h //生成mysum.o文件

gcc -shared -fPIC -o libmysum.so mysum.o //生成动态库文件,默认的命名方式为lib+名称.so


 

5、动态库静态加载

复制代码 代码如下:

gcc -o main main.c -L. -lmysum -Wall

gcc -o main main.c -lmysum -Wall

6、执行 ./main时会报告错误,提示无法加载libmysum.so共享库。

7、处理方法有三:

方法一:

将动态库拷贝到 /lib或 /usr/lib中去

如:sudo cp libmysum.so /lib

方法二:

改变环境变量:

LD_LIBRARY_PATH=$PWD export LD_LIBRARY_PATH

方法三:

在编译时指定共享库的路径:

gcc -o main1 -Wl,-rpath,.-L. -louyang main.o

您可能感兴趣的文章:

相关文章

  • 一个shell小案例(创建日期目录)

    一个shell小案例(创建日期目录)

    需要在多个目录中 (如:beijing shanghai tianjin guangzhou 等等) 创建子目录(以年份命名),然后进入子目录,新建目录并以当天的日期命名
    2016-08-08
  • 浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义

    浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义

    下面小编就为大家带来一篇浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 开发者常用及实用Linux Shell命令备忘录(小结)

    开发者常用及实用Linux Shell命令备忘录(小结)

    这篇文章主要介绍了开发者常用及实用Linux Shell命令备忘录(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • shell监控系统资源并通过短信报警的脚本

    shell监控系统资源并通过短信报警的脚本

    这篇文章主要介绍了shell监控系统资源并通过短信报警的脚本,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 关于Linux之grep查找文本时匹配反斜杠\转义问题

    关于Linux之grep查找文本时匹配反斜杠\转义问题

    在Linux系统中,当文本中有反斜杠 , 需要使用grep查找出带有反斜杠的内容,接下来通过本文给大家讲解Linux之grep查找文本时匹配反斜杠\转义问题,需要的朋友可以参考下
    2022-10-10
  • Shell中建立与使用临时性文件的方法详解

    Shell中建立与使用临时性文件的方法详解

    由于工作需要shell脚本需要将一些信息保存在临时文件中。过去很少使用shell脚本,所以这方面经验很少。便在网上上搜索了所有常规的方法,总结于此,下面这篇文章主要给大家介绍了在Shell中建立与使用临时性文件的相关资料,需要的朋友可以参考下。
    2017-08-08
  • 用于检测进程的shell脚本代码小结

    用于检测进程的shell脚本代码小结

    本文介绍一段shell脚本,它可以检测某进程或某服务是否正在运行,然后以邮件通知。有需要的朋友参考下
    2013-11-11
  • Shell中特殊字符的用法总结大全

    Shell中特殊字符的用法总结大全

    这篇文章主要给大家总结了关于Shell中特殊字符的相关资料,文中包括分好、&、#、!、$、大于号、单双引号等等一系列特殊字符的用法,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • 设置Linux系统的空闲等待时间TMOUT的方法

    设置Linux系统的空闲等待时间TMOUT的方法

    下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 浅析使用 Auditbeat 模块监控 shell 命令的问题

    浅析使用 Auditbeat 模块监控 shell 命令的问题

    Auditbeat Audited 模块可以用来监控所有用户在系统上执行的 shell 命令,在终端用户偶尔才会登录的服务器上,通常需要进行监控,本文给大家介绍使用 Auditbeat 模块监控 shell 命令的相关知识,感兴趣的朋友一起看看吧
    2022-02-02

最新评论