Linux独立可执行代

时间:2009-09-12 22:42:21

标签: linux programming-languages

我是一名具有Java,Ruby,Python和其他高级/动态语言背景的程序员。我面临一个问题,我需要编写一个Linux可执行文件代码(对于64和可能还有32位操作系统)并且这些语言似乎都不适合这个任务,因为我最终也必须分发运行时。

我真的不能写出不错的C代码,所以我想请教一个好的高级语言,它支持套接字通信和进程生成,可以生成C中间代码或独立的Linux可执行文件。

4 个答案:

答案 0 :(得分:6)

对于 python ,您可以使用Freeze

来自维基:

  

Freeze是一个“纯Python”实用程序   附带Python。你可以使用Freeze   编译Unix的可执行文件   系统

     

如果你想编写Python,但是你   不知道你的客户是否有Python   安装,使用这个!

答案 1 :(得分:5)

一些选择:

  1. 学习C或C ++。它能有多难?这可能很有趣。
  2. 使用gcj。这是gnu java编译器。
  3. 使用RubyScript2Exe

答案 2 :(得分:3)

如果你愿意放弃黑暗面,那么Perl会有一些实验性的“编译器”(即转换为C)。我不知道你对此感觉如何 - 许多Python狂热分子(并非所有Python用户都狂热)似乎都厌恶它而没有真正合理的理由,但我想人们必须有他们的宗教观点。

对于它的价值,对于大多数“更高级”的语言,任何真正的编译器基本上只是将程序与运行时捆绑在一起。如果你真的不想那样,你将不得不使用C(甚至C需要一个标准库,尽管没有可用的系统不会已经有一个)或C ++(参见前一个)。

您可以尝试Haskell,它应该直接编译为机器代码,但可能没有足够成熟的库来满足您的口味,并且在您尝试学习它时可能会伤害您的大脑。或者也许是Erlang,如果你需要严重的并发性,虽然我不知道它是否是专门的进程产生,或者只是对并发性的强烈支持。还应该有各种Lisp方言的编译器,但我再一次不知道语言/库对你的任务有多适合。

答案 3 :(得分:0)

您可能想要考虑Perl,因为它现在默认安装在大多数UNIX系统上。它不是一个更高级别的语言恕我直言,但它比写C更容易。我会抓取Accelerated C++的副本并用C ++编写。对于像这样的任务来说,学习C ++可能是值得的。一旦你开始使用Boost和STL编程,它就会真正感觉像是一种更高级的语言。