一、动态库存放位置

与人合作做开发项目,对方提供API接口和实现,但在使用过程中,遇到了一些有意思的问题。问题如下:

对方提供动态库文件,libfunc_a.so和libfunc_b.so,其中libfunc_a.so依赖于libfunc_b.so。libfunc_a.so

是这么编译的:

gcc -shared -o libfunc_a.so ../lib/libfunc_b.so

ldd命令查看动态库依赖如下所示:

ldd ./libfunc_a.so

../lib/libfunc_a.so (0x00007f752da3e000)

........

那么问题来了:我必须在我的可执行文件的上一级目录建一个lib目录,把动态库文件拷进去才能执行程

序,幸好可执行文件一般不放在根目录下(或者在C盘)运行。

总有人喜欢干这样的事情:在windows(32位)下,把动态库放到system32目录下;在linux下把动态库

放到/lib下。 我们尽可能的把软件做的像一个绿色软件,最好部署在一个目录下!

二、源码中写死头文件路径

比如: #include "../inc/func.h"

问题是,我觉得inc这个命名不看,想改成include,我得把所有的源码改一遍(一劳永逸)。

三、在头文件中定义全局变量

问题不大,编译的时候会发现错误,总归会被解决。

 


 


另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

免费学习书籍:


 

免费学习资料:


 
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/zuishuaideou/p/14469567.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!