[请教]-编译、连接的问题

big_world 2008-11-25 10:25:26
A 动态库 依赖于 B动态库,
B动态库如果修改了,什么情况下要编译A动态库?什么情况下不要,谢各位指点
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sad_4978 2008-11-26
  • 打赏
  • 举报
回复
只要输出的接口有变化,就要重新编译。
郑再鹏 2008-11-26
  • 打赏
  • 举报
回复
只要B的导出接口不变,就不需要重新编译A。
big_world 2008-11-26
  • 打赏
  • 举报
回复
不知道这些规则对unix下的so库是否一样限制?有知道的吗
iumlomki 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 big_world 的回复:]
顺序变化要重新编译吗?能否详细解释一下?
还有,如果新增了接口,是否也需要编译?
[/Quote]
要,应该是和导出的序号有关,可以参考msdn,搜索“使用 DEF 文件从 DLL 导出”
要。
forcal 2008-11-26
  • 打赏
  • 举报
回复
1.B动态库输出函数顺序变化时A动态库是否要重新编译,取决于A是怎样调用B函数的,若按函数名调用,不需编译B,若按函数序号调用B中的函数,需要重新编译A,且要调整序号一致。

2.B动态库新增了接口,若原先的输出函数顺序未变化,A不需要编译,否则参考1.
big_world 2008-11-26
  • 打赏
  • 举报
回复
顺序变化要重新编译吗?能否详细解释一下?
还有,如果新增了接口,是否也需要编译?
sys0006 2008-11-25
  • 打赏
  • 举报
回复
1)修改了DLL导出函数的内部实现或内部函数,A不需要重新编译
2)修改了DLL导出函数参数,导出顺序,A需要重新编译

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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