动态库

新建 mylib.c 文件

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

在 编译

图片

编写测试代码 test.c

#include 
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

第三种方法:

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

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

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

图片

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!