1:将几个需要编译成动态链接库的源文件比编译:例如有 test1.c test2.c main.c,那么使用下面命令:gcc test1.c test2.c -fPIC -shared -o libtest.so;注意里面的两个选项-fPIC -shared

2:编译main.c: gcc -o main main.c -L ./ -Itest;注意,-L只要寻找的.so文件的路径,-l代表要找的文件,这里注意test使用了隐式文件名,就是代表libtest.so,省略了lib和.so,要是有多个路径用空格隔开。

这样就编译出了一个可执行文件main。但是这样的话,main不知道去哪里寻找前面动态链接时的.so文件,需要指定路径,这里可以在/etc/ld.so.conf.d libc.conf文件里面添加自己的.so文件所在的路径

3:最后运行ldconfig使上面的路径生效,在运行main就可以了

更多相关文章

  1. linux下如何导出.txt文件?
  2. Linux的五个文件查找命令:find,locate,whereis,which,type
  3. Re:从零开始的Linux之路(文件权限)
  4. Linux 删除文件夹和文件的命令
  5. Linux比较两个文件之间的不同
  6. 詹金斯死了,但是pid文件存在
  7. Linux下的文件时间
  8. Linux下非root用户能创建新文件,却不能拷贝文件的问题
  9. Linux用户和组的操作(一) 用户文件/etc/passwd

随机推荐

  1. asp.net页脚制作详解
  2. ASP.NET教程--MVC中SignalR的基础讲解
  3. Asp.net MVC中关于Razor问题的解决方法
  4. 分别介绍MVC、MVP和MVVM是什么
  5. C#中序列化的使用总结
  6. 对ASP.NET中的MVC引擎开发插系统进行详解
  7. 浅析Asp.Net使用Image/ImageButton空间显
  8. C#如何实现自动更新本地程序的实例分析
  9. 代码分析:在.Net Core中使用ref和Span<T>
  10. C#中关于Timer定时器重入问题的解决方法