免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10568 | 回复: 18
打印 上一主题 下一主题

[FreeBSD] 如何开发BSD和Linux通用的程序??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-14 06:40 |只看该作者 |倒序浏览
本帖最后由 BlueSky_Yu84 于 2013-09-14 06:43 编辑

1、 为什么BSD要通过Linux兼容层,来运行大部分的Linux程序?
2、以前好像读到过,关于UNIX和Linux选择文件格式的问题,是这个原因吗?
3、BSD运行GNU程序都是通过兼容层来运行的吗?
4、Linux兼容层做了哪些工作?仅仅是安装一些库文件吗?知道具体是哪些库文件吗?
(以前好像读到过是安装了Fedora的一些库文件,并且是Fedora比较老的库。不知道这些库会不会随着BSD的升级而升级,还是说这些库都是一些底层、基本库,不需要频繁升级、更新的)
5、有没有办法开发出BSD和Linux原生、通用的程序?
6、如果5不可行,怎么样以最小代价确保程序可移植呢?
当然,这里说的是C/C++程序,Perl/Python好像不存在类似的问题吧?
另外,界面上,例如Qt、GTK是不是也不存在移植问题啊?还是 说也要通过"兼容层"来运行?

另外,有没有熟悉在BSD用OpenJDK的,Oracle(Sun)JDK与OpenJDK是100%兼容吗?
是同时遵守JDK规范吗?还是OpenJDK只是实现了Sun JDK功能的一个子集?
可不可以这样理解:OpenJDK是SunJDK的试验场?
那么以OpenJDK开发的程序会不会有性能问题?
例如:OpenJDK已经出1.8了,但是Sun的1.8据说要2014年才能Release....

可能问题有点多,希望了解的前辈们赐教!!!
在此多谢!!!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:11
2 [报告]
发表于 2013-09-14 07:48 |只看该作者
http://www.freebsd.org/doc/en/articles/linux-emulation/

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
3 [报告]
发表于 2013-09-14 09:23 |只看该作者
> 1、 为什么BSD要通过Linux兼容层,来运行大部分的Linux程序?

那些程序可能是依赖Linux Kernel或者是GNU Libc的API。

我用着FreeBSD这么多年,从来没用过Linux的兼容层。

> 2、以前好像读到过,关于UNIX和Linux选择文件格式的问题,是这个原因吗?

不是。

> 3、BSD运行GNU程序都是通过兼容层来运行的吗?

不是,比如GCC,GMake。

> 4、Linux兼容层做了哪些工作?仅仅是安装一些库文件吗?知道具体是哪些库文件吗?

接受应用程序那些在FreeBSD系统上找不到的调用,并且翻译成FreeBSD系统上面对应的调用。

(以前好像读到过是安装了Fedora的一些库文件,并且是Fedora比较老的库。不知道这些库会不会随着BSD的升级而升级,还是说这些库都是一些底层、基本库,不需要频繁升级、更新的)

> 5、有没有办法开发出BSD和Linux原生、通用的程序?

如果提供源代码的话,那么基本上程序不分BSD原生或者Linux原生。

> 6、如果5不可行,怎么样以最小代价确保程序可移植呢?

5是可行的,但是某些开发者就是不提供源代码,或者就是专门喜欢调用Linux Kernel的API(这种奇葩不太常见)。

> 当然,这里说的是C/C++程序,Perl/Python好像不存在类似的问题吧?

见关于5、6的回复。

> 另外,界面上,例如Qt、GTK是不是也不存在移植问题啊?还是 说也要通过"兼容层"来运行?

见关于5、6的回复。Qt和GTK都不怎么调用内核(系统)的API,只用标准的libc定义的函数,所以移植性就会好。

===============

明白了。

论坛徽章:
0
4 [报告]
发表于 2013-09-14 16:36 |只看该作者
回复 3# fender0107401


    谢谢版主,帮大忙了!要不自己要找多少资料才能明白这些问题啊,甚至有些问题都不知道该找什么资料!

    再次感谢版主解答了这么多问题!

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
5 [报告]
发表于 2013-09-14 17:02 |只看该作者
回复 4# BlueSky_Yu84

相互帮助。


   

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
6 [报告]
发表于 2013-09-15 01:28 |只看该作者

应用程序都遵守posix标准就能保证了。

论坛徽章:
0
7 [报告]
发表于 2013-09-15 09:34 |只看该作者
老大还是很NB的..嘿..

论坛徽章:
29
技术图书徽章
日期:2013-09-02 19:59:502015元宵节徽章
日期:2015-03-06 15:51:332015小元宵徽章
日期:2015-03-06 15:57:20操作系统版块每日发帖之星
日期:2015-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17操作系统版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之水原三星
日期:2015-10-30 00:06:07数据库技术版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2016-01-07 10:32:07操作系统版块每日发帖之星
日期:2016-01-08 06:20:00操作系统版块每日发帖之星
日期:2016-05-18 06:20:00IT运维版块每日发帖之星
日期:2016-07-23 06:20:00
8 [报告]
发表于 2013-09-15 10:45 来自手机 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2013-09-15 19:10 |只看该作者
回复 6# wait_rabbit


    虽然还是门外汉,不过就网上的言论来看,posix 很少被遵守吧

论坛徽章:
0
10 [报告]
发表于 2013-09-15 19:13 |只看该作者
回复 8# Hongqiyaodao


    这位仁兄不是来耍我的吧,还是来抬杠的,如果是想帮忙的,就知道我说的是UNIX-LIKE系统,关win到死什么事啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP