0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中动态库的创建与使用

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-27 11:09 次阅读

动态库

新建 mylib.c 文件

#include< stdio.h >

void mylib(void);

void mylib(void)
{
  printf("This is mylibn");
}

在 Ubuntu 编译

图片

编写测试代码 test.c

#include < stdio.h >

void mylib(void);

int main(void)
{
  mylib();
  return 0;
}

编译测试文件 test.c

图片

-l:指定动态库的库名
-L:指定动态库的查找位置。
-L . 表示在当前目录下去查找

运行测试 a.out

图片

在动态库使用是,系统会默认去/lib,/usr/lib 目录下去查找动态函数库,如果我们使用的库不在里面,就会提示错误。解决这个问题有三种方法。

第一种方法:

将生成的动态库拷贝到/lib 或者/usr/lib 里面去,因为系统会默认去这两个路径下寻找。

第二种方法:

把我们的动态库所在的路径加到环境变量里面去,比如我们动态库所在的路径为/home/test,我们就可以这样添加,但是这种方法只在当前设置的窗口有效。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/topeet/debug/linux_

我们加入环境后,运行 a.out

图片

第三种方法:

修改 ubuntu 下的配置文件/etc/ld.so.conf,我们在这个配置文件里面加入动态库所在的位置,然后使用命令 ldconfig 更新目录。

我们输入以下命令编辑/etc/ld.so.conf 文件,如下图所示:

图片

修改完文件保存退出,输入 ldconfig 更新目录。运行测试如下图所示:

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11196

    浏览量

    208659
  • 文件
    +关注

    关注

    1

    文章

    560

    浏览量

    24657
  • 动态库
    +关注

    关注

    0

    文章

    16

    浏览量

    6215
收藏 人收藏

    评论

    相关推荐

    Linux动态链接的基本概念

    学习Linux动态链接是一个绕不开的话题,我们今天就一起来看一下什么是动态链接动态链接
    发表于 09-27 14:31 1501次阅读

    Linux动态相关知识

    Linux 下有动态和静态动态以.so为扩展名,静态
    的头像 发表于 11-07 09:23 542次阅读
    <b class='flag-5'>Linux</b>下<b class='flag-5'>动态</b><b class='flag-5'>库</b>相关知识

    Linux下静态动态的制作与使用

    什么是静态函数动态函数库又是什么?linux静态函数是怎样创建并使用的?动态函数库是怎样
    发表于 04-26 06:45

    Linux系统共享编程

    一、说明 类似Windows系统动态链接Linux也有相应的共享用以支持代码的复用
    发表于 09-13 16:49 24次下载

    C++动态链接创建和调用

    动态连接创建步骤: 一、创建Non-MFC DLL动态链接 1、打开File —> N
    发表于 11-24 18:13 7次下载

    深入分析Windows和Linux动态应用异同

    深入分析Windows和Linux动态应用异同 摘要:动态链接技术实现和设计程序常用的技术,在Windows和
    发表于 10-22 11:36 1287次阅读

    Linux下静态动态(共享)的制作与使用

    Linux下静态动态(共享)的制作与使用Linux
    发表于 07-09 14:39 1143次阅读

    linux静态动态分析

    的二进制是不兼容的。 本文仅限于介绍linux下的。 2.的种类 linux下的有两种:静态
    发表于 11-02 10:12 1次下载

    你知道Linux动态链接创建与使用?

    使用GNU的工具我们如何在Linux创建自己的程序函数?一个“程序函数”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。
    发表于 04-28 16:45 1100次阅读

    Linux下的静态动态动态加载

    的存在极大的提高了C/C++程序的复用性,但是对于初学者来说有些难以驾驭,本文从Linux的角度浅谈Linux下的静态
    发表于 04-02 14:32 735次阅读

    linux找不到动态如何解决

    解决linux找不到动态的问题
    发表于 06-13 09:43 2124次阅读

    讲解Linux虚拟机之使用动态和静态

    了解 Linux 如何使用,包括静态动态的差别,有助于你解决依赖问题。
    发表于 05-06 17:05 2142次阅读
    讲解<b class='flag-5'>Linux</b>虚拟机之使用<b class='flag-5'>动态</b><b class='flag-5'>库</b>和静态<b class='flag-5'>库</b>

    嵌入式Linux动态和静态使用

    以下主要介绍Linux动态、静态、如何使用已有的动态, 以及如何制作一个
    发表于 11-01 16:57 1次下载
    嵌入式<b class='flag-5'>Linux</b>下<b class='flag-5'>动态</b><b class='flag-5'>库</b>和静态<b class='flag-5'>库</b>使用

    Linux开发_动态静态创建与Makefile规则

    介绍Linux下静态动态创建方式、完成静态动态
    的头像 发表于 09-17 15:41 1177次阅读

    Linux下的静态链接动态链接的区别是什么?

    学习Linux动态链接是一个绕不开的话题,我们今天就一起来看一下什么是动态链接动态链接
    的头像 发表于 02-17 10:49 1193次阅读
    <b class='flag-5'>Linux</b>下的静态链接<b class='flag-5'>库</b>和<b class='flag-5'>动态</b>链接<b class='flag-5'>库</b>的区别是什么?