哪些语言不需要外部库/引用/依赖?

时间:2009-03-10 17:23:28

标签: windows

有一个快速项目,我需要为没有外部引用或依赖项的窗口组合在一起;像C这样的忠实用户是显而易见的,但如果你是一名.NET开发人员并且需要快速构建这样的语言/工具吗?

编辑:最终我希望能够将JUST编译器生成的exe文件单独放在Windows机器上并让应用程序运行。

10 个答案:

答案 0 :(得分:3)

您几乎可以使用任何语言(我不包括明显的C / C ++)

  • 您可以将.NET运行时捆绑到.exe中并使用C#
  • 编写应用程序
  • 您可以使用Python编写应用程序,并使用py2exe等工具将所有内容捆绑到单个.exe中。我经常这样做。可以使用Python和PyQt创建外观漂亮且功能强大的应用程序,将所有内容捆绑到单个无依赖性可执行文件中,并部署到用户,无需安装任何其他内容。可执行文件是几MB大(使用PyQt约9),并且可以快速加载和运行。

您目前了解哪种语言/环境更为重要。专注于此,因为工具确实适用于您想要使用的任何东西。

答案 1 :(得分:2)

如果您是.net开发人员,可以考虑使用Remotesoft's Salamander或其他类似工具将所有内容编译为单个可执行文件(包括框架)。

此选项允许您在.net中开发,但不能在客户端系统上安装.net框架。如果您在非MS系统上进行部署,则可以使用Mono的部署工具免费完成相同的任务。

一般来说,我会坚持使用你知道的工具和语言。构建安装程序以安装.net框架更容易,然后学习一套新的工具,库等。

答案 2 :(得分:1)

C / C ++将是您的语言,但不要使用任何花哨的库,如MFC,MSVCRT等,或者如果您将它们静态链接到您的可执行文件。

答案 3 :(得分:1)

Delphi一直是为Windows生成独立.EXE的最佳产品。在这方面,没有微软的产品能够接近它。

答案 4 :(得分:1)

我认为通过Free Pascal Lazarus IDE可以获得良好的全面答案。

免费的Pascal应用程序是本机的,无依赖项,并且支持 lot 平台。这里列出的太多了! Free Pascal本身是一个免费的开源编译器。

为了更方便,我强烈建议您使用Lazarus IDE。现在,您甚至可以获得用于跨平台GUI应用程序(以及控制台)的RAD IDE,并具有大量内置功能,如数据库支持。真的是一个非常可爱的一体化,经常被低估甚至是未知的平台,它可以生成自包含的本机可执行文件。如果你考虑一下,那些工具就不会太多。您甚至可以从中进行交叉编译,例如在Windows上编译Linux的GUI应用程序,而不需要虚拟机。

有一天,我希望.NET Native可以做到这一点,但它目前还远没有能力,我不确定微软是否打算去那里。 Google的Go语言也很好用,因为它编译为本机跨平台代码,但缺少GUI库。 Python可以将其代码打包成可执行文件,但它是一种kludge,而不是本机代码。等等...

答案 5 :(得分:0)

“没有外部参考”有点模糊。您是在谈论应用程序的部署解决方案吗?

例如,您可以使用Tcl,它支持创建单个文件可执行文件的功能,该文件可执行文件包含应用程序代码和可包含应用程序所需的任何其他文件的虚拟文件系统。如果您的目标是创建一个无需安装额外文件即可部署的文件,请阅读“starkits”和“starpacks”。

答案 6 :(得分:0)

如果您的目标是Windows Vista .NET 3.0已预先安装, 如果您的目标是Windows 7 .NET 3.5已预先安装,如果您不使用除这些发行版中包含的库之外的其他库,那么您的应用程序将运行。无论如何,安装.NET并不是那么多工作,只需附带可再发行的。

答案 7 :(得分:0)

汇编。您唯一的依赖是CPU

答案 8 :(得分:0)

这是一个左侧的答案......

的Tcl

结合starkits,您可以创建一个简单的双击.exe而无需安装程序。

当然,缺点是它将用tcl编写。

作为额外的奖励,您将能够将您的应用程序轻松移植到mac或Linux(或一系列其他奇怪的操作系统)

答案 9 :(得分:-7)

您认为.NET Framework是“外部的”吗?如果您坚持使用.NET Framework并使用C#,则您的代码应该在安装了适当版本的.NET Framework的任何位置运行,并且您只需要部署.exe和.exe.config。


没有.NET Framework,无法运行.NET程序。如果您不能要求已安装.NET Framework,则无法使用.NET程序。这就是我的意思。


我不知道这是什么意思,但让我再试一次澄清一下。原帖说:

  像C这样的忠实用户是显而易见的   如果您是.NET开发人员并且需要   建立这样的东西   快你会用什么语言/工具   使用?

答案是,如果您是.NET开发人员,则没有可用于此目的的工具或语言,因为每个.NET程序都需要安装.NET Framework。如果您需要一个完全独立的程序,那么不要使用.NET。正如其他人回复的那样,您可以将.NET捆绑到您的exe中。如果您愿意发送.MSI文件而不仅仅是您的exe文件,也可以在应用程序中安装.NET。

但是,根据定义,.NET程序不能独立于.NET Framework。

相关问题