so文件 和 a文件 和 o文件

link98091 2008-05-06 12:33:28
在unix上编译 c++程序,
这三个文件一直都不是很清楚之间调用关系,特别是编译的时候
因为我是从java转c++的,

比如 myso目录下makefile 生成so文件
myO目录下 makefile 生成o文件
myO目录下 makefile 生成a文件

现在知道myso目录下的程序调用到myO目录下的函数,所以我的理解是编译好myO后,submit,
然后应该再编译myso目录下的程序,生成so,发布到库目录,这样修改的程序才能正式发布生效。

不知道我理解正确否。thks all!
...全文
455 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
link98091 2008-05-06
  • 打赏
  • 举报
回复
ok,有没有什么文章链接可以研读一下?我baidu了一下,但是没有合适的。
Treazy 2008-05-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 link98091 的回复:]
那我现在修改编译了myO,是否也要再编译myso?
[/Quote]

如果你的myso用到了myo的.o文件,那肯定需要重新连接编译的
link98091 2008-05-06
  • 打赏
  • 举报
回复
那我现在修改编译了myO,是否也要再编译myso?
Treazy 2008-05-06
  • 打赏
  • 举报
回复
其实本质是要理解以这三个名字为后缀的文件的含义

.so是动态库
.a是静态库
.o是object file

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧