我被要求为一组Windows机器(我想是XP)编写一个(非常)简单的程序——简单到语言的选择都不是问题。但是,我希望能够分发一个二进制/脚本,它可以直接在Windows机器上运行,而不需要预先安装任何解释器或虚拟机。我正在Linux机器上进行开发,我不知道Windows"开箱即用"支持哪些语言。有人能给点建议吗?
例如- Perl会很好,但我不相信windows机器自带Perl预装?要求用户安装Perl来使用我的脚本是不可接受的。
- 我相信Python有同样的问题?(虽然也许我可以使用PyInstaller?——在这个问题中)
- 同样Java ?大多数Windows发行版都预装了虚拟机吗?(我知道它在与Sun Microsystems发生争执后被删除了?)
到目前为止我能想到的唯一选择是
- c/c++与MinGW交叉编译。
虽然我很高兴用c++写代码,但我想先检查一下我的语言选项
唯一开箱即用的脚本语言是批处理解释器,vbscript和jscript。除此之外,你喜欢编译语言。c#是一个不错的选择,但要确保你的目标是XP附带的。net版本。
Delphi和Lazarus/FreePascal生成的本机应用程序甚至不需要MSVCRT
其他一些系统对相对较新的MSVCRT版本有要求,这可能对较旧的windows版本造成负担。
然而,最近的Lazarus和Delphi版本不再支持windows NT4和Win9x,而win2000处于灰色地带(不支持,但可以正常工作)
拥有一个内部的win32/64链接器也使它成为从*nix到Windows交叉编译的绝佳选择。
我不认为Java是预装在Windows上的。
我现在已经好几年没有使用Windows了,但是如果我没记错的话,你可以用VBScript或JScript开发脚本并部署它们,而不需要客户端安装任何东西。
任何编译成纯本机汇编(没有特殊的运行时依赖项)的语言都应该是好的。例如:许多C变体(但不是全部),Microsoft Visual c++, Microsoft Visual Basic 6, OCaml, Haskell等等。
需要。net框架(它也给你c#, VB。. NET和f#)是合理的,而且JVM是相当标准的(所以你得到Java, Closure和Scala)。