Programming languages 哪些语言允许创建跨平台本机可执行文件?

Programming languages 哪些语言允许创建跨平台本机可执行文件?,programming-languages,executable,Programming Languages,Executable,我很沮丧地发现Java缺少一个可接受的解决方案来创建通过双击运行的程序。除了.NET for Windows,我还可以使用哪些现代高级编程语言编写代码,这些代码可以在各种平台上编译,并在每个平台上以本机/二进制文件的形式运行(Windows、Linux、OSX(可选)) 例如,假设我想用python编写代码,是否有一种内聚的方式可以分发我的软件,而不需要用户做任何特殊的事情来运行它?我想为不懂计算机的人编写和分发软件,而Java在这方面是一个真正的难题 澄清:当我说跨平台时,我的意思是有几种方法

我很沮丧地发现Java缺少一个可接受的解决方案来创建通过双击运行的程序。除了.NET for Windows,我还可以使用哪些现代高级编程语言编写代码,这些代码可以在各种平台上编译,并在每个平台上以本机/二进制文件的形式运行(Windows、Linux、OSX(可选))

例如,假设我想用python编写代码,是否有一种内聚的方式可以分发我的软件,而不需要用户做任何特殊的事情来运行它?我想为不懂计算机的人编写和分发软件,而Java在这方面是一个真正的难题


澄清:当我说跨平台时,我的意思是有几种方法可以为每个目标系统使用不同的编译器编译源代码。我不需要一次编译解决方案。。。我只想为软件用户提供一个简单的体验,即使我需要编译它并为每个目标平台解决代码问题。

C是最接近的

提供最佳跨平台执行的语言将是那些不运行本机代码的语言,如Java平台和.NET framework。您还可以使用解释语言,而不是编译语言

我一直在用Mono和C#与Winforms进行实验。到目前为止,它已经被证明是一个非常好的组合。在Windows中,可以通过直接双击可执行文件或为其创建可双击的快捷方式来运行可执行文件。在Linux中,可执行文件可以从执行小脚本的图标运行,用户体验基本相同


我想你也可以期待类似的Python体验。

我在Borland有一个非常好的在windows下编译Delphi的体验,它使用Wine运行得非常完美,Delphi默认情况下在一个exe中编译所有文件。只是避免使用Win32 voodoo库


交叉编译的另一个选项是C\C++、eclipse和gcc,您还可以编译i386不同的体系结构,如果您习惯于Delphi,则可以提供类似的环境,但允许跨平台编译。不幸的是,你不能仅仅把你的VCL组件放进去,因为它们往往是以Windows为中心的。一些VCL组件供应商也提供LCL版本。

C++ 以谷歌浏览器为例。它是一个新的Web浏览器,是一个优秀的原生多平台应用的例子,它是用C++编写的。p>
当然,正如你所说的,他们必须“为每个目标平台解决代码问题”,但这确实有效

将Java程序“编译”到不同的平台是可能的,而且相当容易。您可以将它们转换为可执行的.jar文件,也可以使用JSmooth之类的程序


如果您需要能够为不同的平台编译它,您可以使用像Perl这样的解释语言并将其编译成C代码。由于C可以很容易地在目标平台上编译,用户不需要解释器。

正如其他人所说,准确地说,你要问的是C,它几乎可以在任何平台上编译,因为它实际上是一个“高级汇编程序”

也就是说,为了实现您想要的目标,托管语言将是您的最佳选择。像Silverlight for Windows/OSX(以及Linux上Mono的Moonlight)这样的东西将是您的最佳选择,此外,它将提供一次部署到所有地方的代码解决方案

AdobeFlash/Flex/Air将是另一个选项,它将为您提供一次编译—部署到任何地方,我知道这不是您所要求的,但它接近于实现简单用户体验的目标。

添加到列表中

要在go中启用交叉编译,您必须:

然后在编译之前指定目标操作系统:

GOO=linux go build yourprojecthere
应该在这个列表中

  • 从上安装防锈工具链
  • cargo new“my_first_rust_progam”--bin
  • cd my\u first\u rust\u program
  • 货物运输
  • 不,真的,就这样。对于运行时或最终用户的框架,没有安装前的先决条件。就这么简单。您刚刚编写并编译了一个小型的“hello world”源代码,将其转换为本机二进制文件并执行


    网站上有很好的文档帮助您开始。今天就学生锈

    JavaScript总是。它是一种解释语言,跨平台,使用解释器将源代码直接转换为机器代码。任何非计算机科学背景的用户只需双击即可使用它,无需任何额外配置。

    Java程序可以在Windows、Linux和Mac上双击运行。编辑您做错了。跨平台并不意味着盲目编码。虽然wora适用于小型应用程序,但大型应用程序确实需要针对每个目标平台进行调整。优秀的例子是IDE,它可以双击安装并运行,例如“Netbeans、Eclipse、IntelliJ IDEA(如果您想要街道应用程序参考,可以使用limewire)你可以访问每一个网站,你会发现一个可安装的网站,可以由不懂计算机的人运行,但你需要比简单的HelloWorld.jarTry Rust更努力。你会喜欢它的!见下面我的详细答案。类似于我用Java的体验,或者你用C#的体验?我用C#的体验。Mono人创建了一个基本兼容的库使用WINFALSE,任何曾经做过这种编程的人在单声道上都是很轻松的。但是如果你对java感到满意,我就没有理由思考为什么你不能创建直接从Linux或C++桌面上的图标运行的程序。用Qt编写一个跨平台的C++应用程序是很有价值的。推荐生锈作为这里的答案之一,我很快就爱上了Go。我会选择Go over Rust,因为它的GC使生活更轻松,但这就是我。Upvote btw。只需双击即可使用它–如果
    GOO=linux go build yourprojecthere