LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1652|回复: 5

大家有没有发现Debian GCJ软件包的一个bug。

[复制链接]
发表于 2005-12-9 10:00:37 | 显示全部楼层 |阅读模式
安装了gcj之后呢,使用gcj编译一个java程序HelloWorld.java到本地的可执行文件(ELF)。
使用命令gcj HelloWorld.java -o helloword
结果提示缺少libgcj.spec文件。
我们知道生成的helloword执行时其实是会去连接libgcj库的。那么很可能是libgcj库安装的问题。
后来知道这其实是gcj软件包依赖的一个bug,再安装libgcj4-dev这个包就可以正常编译了。
 楼主| 发表于 2005-12-9 10:04:44 | 显示全部楼层
发这篇帖子其实是还想告诉大家,除了JDK,JRE之外我们还有另外一个选择。GCJ。
有些人担心因为要动态连接libgcj所以必须开发源代码,但是libgcj的GPL的授权包含了一个例外,就是动态连接libgcj的代码并不强制该应用程序GPL的授权发布。
不知道这个坛子里哪些sir是用gcj来开发java项目的,大家多讨论讨论吧。
回复 支持 反对

使用道具 举报

发表于 2005-12-11 13:13:53 | 显示全部楼层
没有用它来开发,偶尔玩玩。他的gc似乎很笨,大项目跑下来速度太慢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-12 15:12:05 | 显示全部楼层
Post by acguy
没有用它来开发,偶尔玩玩。他的gc似乎很笨,大项目跑下来速度太慢。

你是指gcc的java解释器gij的效率不高,是吗?
我觉得gcj的强大之处在于能把java源程序编译成本地机器二进制文件格式,比如ELF的格式。
回复 支持 反对

使用道具 举报

发表于 2005-12-22 12:15:07 | 显示全部楼层
Post by realtang
你是指gcc的java解释器gij的效率不高,是吗?
我觉得gcj的强大之处在于能把java源程序编译成本地机器二进制文件格式,比如ELF的格式。


即使编译成二进制格式,如果涉及大量对象生成与删除,仍然比jvm慢,可能是垃圾收集机制的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-22 17:33:30 | 显示全部楼层
Post by acguy
即使编译成二进制格式,如果涉及大量对象生成与删除,仍然比jvm慢,可能是垃圾收集机制的问题。

我现在也感受到了GCJ一些不足,比如一些JDK弄出来的class文件主要是用JNI写的,会无法正常执行。
现在用kaffe了,兼容性蛮好的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表