常见问题

为什么该项目名为“Gambas”?

似乎开源项目经常用动物命名,尤其是编程语言一类,如:Python、Camel、Bonobo、...等等。 而且我想用一个包含单词“Basic”的首字母缩写递归的名字。所以是Gambas(*G*ambas A*lmost *M*eans *BAS*ic!)。

Gambas与Visual Basic™兼容吗?

不兼容,而且以后也不会兼容! 幸运的是,它们有很多相似之处,但是不要期待拿你以前的Visual Basic代码,不做任何修改就运行在Gambas上。 你可以去问题处理页面查找一些两种语言之间差别的示例。 参见:与Visual Basic的区别

Gambas会和Java或者.Net兼容吗?

恐怕永远不会。有很多原因,好的和坏的: 我不是Sun,也不是Microsoft,我不想强加一个唯一的语言给每个地方和事物。那是一件愚蠢的事情,不是吗?:-) 我希望一个简单而强大的语言,不是专门为专业人士或者爱好者准备的。 我这样做也是因为爱好!我喜欢编写编译器,解释器,虚拟机...,所以我没有使用Java或.Net规范。 Gambas IDE用Gambas开发而成。

Gambas支持多平台吗?

将来,我希望可以简单的回答“是!”。 :) 现在,有人报告编译Gambas在BSD和Win32/Cygwin之上。

为什么不将项目合并入HBasic, MonoBasic, Parrot...?

在这些项目和我的合并想法之间存在太多的技术差别。

另一个问题是Gambas解释器与我需要的语言特征之间联系非常紧密。 .Net/Parrot的特征是非常不同于Gambas的。这不仅仅是一个解释器字节代码的原因。例如,引用计数器和对应内存单元回收器的问题。组件管理系统会发生什么?类继承管理会发生什么?解释器钩子会发生什么?等等诸如此类...。

怎样编译、生成和安装Gambas?

请看说明

怎样卸载Gambas?

如果你是用你的操作系统的包管理器安装的Gambas,进行正常的卸载过程应该是很容易的。 如果你以root用户身份从源代码安装,只需要删除安装目录。例如,如果你安装Gambas于=/opt/gambas2=,只需要以root用户身份像下面这样做:

$ rm -rf /opt/gambas2

如果安装的prefix参数是=/usr=,或者=/usr/local=(缺省),那么你必须像下面这样一个一个删除每个目录。

$ rm -f /usr/local/bin/gbx2 /usr/local/bin/gbc2 /usr/local/bin/gba2 /usr/local/bin/gbi2
$ rm -rf /usr/local/lib/gambas2
$ rm -rf /usr/local/share/gambas2

用Gambas可以访问我的PostgreSQL, MySQL, etc.数据库吗?

在稳定版中,你现在可以访问PostgreSQL、MySQL和SQLite数据库,而且在开发版中有更多的支持。 如果你想开发其他的数据库系统驱动,请告诉我,非常欢迎你!

我是C/C++程序员,我能怎样帮你?

欢迎你来帮忙! 首先你应查阅开发者邮件列表,并介绍你自己。 然后,你需要尝试理解Gambas体系结构、编译器、解释器、开发环境、组件,以及它们如何在一起工作。 然后,你可以阅读Wiki上的开发者文档:它说明你如何编写组件。 你可以查找名为gb.XXX的组件示例,它们带有完整的注释。通过阅读该示例的源代码,你能理解如何编写一个组件。 如果你想为数据库组件写一个数据库驱动,PostgreSQL驱动有注解,所以你可以更容易的知道该如何来做。 当然,我会回答任何问题并尽我所能的帮助你,只要你有超过一学年的学习C/C++的经历。 :-)

我不是C/C++程序员,我能怎样帮你?

欢迎为下面的任务提供帮助,不需要C/C++编程技巧!
  • 玩Gambas并报告缺点。

  • 为初学者编写示例程序,并发送给我,我将添加它们到源代码包。

  • 编写教程,为初学者演示如何写它们的第一个Gambas程序。这是一个伟大的想法!:-)

  • 翻译Gambas为你自己的语言。更多信息请看如何翻译Gambas集成开发环境(IDE)

我能用Gambas开发私有软件吗?

是的,你可以。但是如果你使用QT GUI 组件,也就是,如果你的程序是图形化的,那么你必须在开发前购买QT许可。否则,开放你的软件为自由软件。:-)

会移植Gambas到Windows™上吗?

我不会这样做,但是我会给试图这样做的任何人提供帮助。 过去,我已经在Cygwin下编译了Gambas源代码,但是没有真正成功。 注意,移植有大量的工作要做:进程管理,qt,等等...,这是一个庞大的工作。