免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: dragonimp
打印 上一主题 下一主题

请问cygwin下能够链接linux下发布的.a库文件吗 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-06 11:12 |只看该作者
我的理解:

对于操作系统api的差异,cygwin之类的已经做了大量的转换工作,能应付一般的应用。

而对于库或执行文件的格式的差异,那完全是编译器引起的,那应该也能出个什么东西来转换(设计时或运行时)。这个应该比api转换更容易才对。

论坛徽章:
0
12 [报告]
发表于 2008-12-06 11:15 |只看该作者

回复 #10 dragonimp 的帖子

a里面是o,也就是a是o的归档(有压缩好像)。
Linux的o是elf的,Win的可执行文件是PE的(dll和lib呢?应该也是),虽然都是COFF的扩展,但是能混用吗?

Linux下面想用不同的so或者a,可以通过gcc指定库的路径啊,不用覆盖现有系统的a或者so。

在Win下用Linux的a,关注这个话题。

论坛徽章:
0
13 [报告]
发表于 2008-12-06 11:17 |只看该作者

回复 #11 dragonimp 的帖子

是啊,可以写出来程序把Linux的a和so转换成win下cygwin可以用的格式。

论坛徽章:
0
14 [报告]
发表于 2008-12-06 11:29 |只看该作者
恩,这是个很实际的问题。如果能有可用解决方法,这个非常非常有用!因为通常是完全开源的项目你才能拿到win下用,但是很多项目仍然是只有.a的!如果能用.a,那就。。。

别的不说,主题还是:在Win下用Linux的a

论坛徽章:
0
15 [报告]
发表于 2008-12-06 11:35 |只看该作者
试试看啊,abutter说如果cygwin的linker支持elf的话应该是可以的。cygwin的ld支持elf连接到COFF(abutter说cygwin编译出来的是COFF)吗?
我没有Win,没办法试。

论坛徽章:
0
16 [报告]
发表于 2008-12-06 12:32 |只看该作者
原帖由 dragonimp 于 2008-12-6 11:29 发表
恩,这是个很实际的问题。如果能有可用解决方法,这个非常非常有用!因为通常是完全开源的项目你才能拿到win下用,但是很多项目仍然是只有.a的!如果能用.a,那就。。。

别的不说,主题还是:在Win下用Linux的a


如果忽略处理器构架的差异的话,其实库最大的问题在于调用外部 API 上,而不在他是什么格式上,除非链接器不认识这样的格式。

举个例子,你在 Linux 下生成了一个“东西”,这个“东西”面只有一个函数——将传入的寄存器内容加 1 然后返回;即使在 cygwin 下面,你去实现同样的功能也会生成内容的“东西”,这两个“东西”的差别也只是“平装版”和“精装版”的差别罢了。

论坛徽章:
0
17 [报告]
发表于 2008-12-09 17:14 |只看该作者
原帖由 prolj 于 2008-12-6 11:15 发表
a里面是o,也就是a是o的归档(有压缩好像)。
Linux的o是elf的,Win的可执行文件是PE的(dll和lib呢?应该也是),虽然都是COFF的扩展,但是能混用吗?

Linux下面想用不同的so或者a,可以通过gcc指定库的路 ...



不是这个说法吧, 所谓的 ELF/PE 是连接成可执行文件后才产生的,
.a 就是 .o 的集合。 如果里面只使用了 平台无关的函数库, 应该是可以在 cygwin 下用。

论坛徽章:
0
18 [报告]
发表于 2008-12-09 22:19 |只看该作者
原帖由 connet 于 2008-12-9 17:14 发表



不是这个说法吧, 所谓的 ELF/PE 是连接成可执行文件后才产生的,
.a 就是 .o 的集合。 如果里面只使用了 平台无关的函数库, 应该是可以在 cygwin 下用。

对!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
19 [报告]
发表于 2008-12-10 14:41 |只看该作者
这个问题本来就问的没有意义.能够用还是不能够用本来也只要试一下就知道

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
20 [报告]
发表于 2008-12-10 14:42 |只看该作者
可是,我实在不明白为什么很多人宁可相信别人的说法,却不去相信自己的眼睛.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP