Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 什么';这是一种很好的编译成本机windows代码的轻量级编程语言吗?_.net_Windows_Winapi_Compiler Construction_Programming Languages - Fatal编程技术网

.net 什么';这是一种很好的编译成本机windows代码的轻量级编程语言吗?

.net 什么';这是一种很好的编译成本机windows代码的轻量级编程语言吗?,.net,windows,winapi,compiler-construction,programming-languages,.net,Windows,Winapi,Compiler Construction,Programming Languages,我是一名.Net开发人员,但我不能保证.Net Framework会安装在目标机器上 我看到一些问题(和)建议使用NGen编译为本机代码。这两种方法都指出,您仍然需要该框架 我想写一个相当轻量级的应用程序(基本的GUI,没有数据库,没有什么复杂的),但出于各种原因,我不想安装任何框架或字节码解释器 建议使用Python和py2exe。我不熟悉Python,但如果它是这项工作的最佳工具,我可能会学到足够的知识来编写这个应用程序(不过我宁愿不这么做)。我还考虑过用DHTML和javascript编写

我是一名.Net开发人员,但我不能保证.Net Framework会安装在目标机器上

我看到一些问题(和)建议使用NGen编译为本机代码。这两种方法都指出,您仍然需要该框架

我想写一个相当轻量级的应用程序(基本的GUI,没有数据库,没有什么复杂的),但出于各种原因,我不想安装任何框架或字节码解释器

建议使用Python和py2exe。我不熟悉Python,但如果它是这项工作的最佳工具,我可能会学到足够的知识来编写这个应用程序(不过我宁愿不这么做)。我还考虑过用DHTML和javascript编写它——我相信这台机器会有一个相对较新的浏览器

我熟悉C语言家族,并且涉猎过Java、PHP和Ruby

有人能推荐一种我可以轻松编译成本机Win32代码的语言吗?

编辑:澄清

有一些答案表明,如果我熟悉C语言家族,为什么不直接使用C呢?我或许应该澄清一下。我每天使用C语言,我是在C++和C++上长大的(但是已经用了好几年了)。
看起来C/C++可能是一个不错的选择,但我必须刷新一下我对它们的记忆:)

如果它是轻量级的,不复杂,而且您熟悉C语言家族。。那么为什么不使用C和Win32 Api呢?当然,这比编写.net或java程序要难,但它肯定会编译成本地windows代码,不需要字节码或解释器

此外,您还可以使用Mono将C#应用程序与Mono运行时静态链接

我看你需要温习一下C.。那么,这里有另一个想法:


NGen旨在通过编译为本机代码来优化.NET代码。您仍然需要.NET framework。此外,NGen在客户端计算机上的安装程序中运行-您不能分发本机代码


< P>创建.NETStudioProject,它将检查框架并自动安装。

< P> C++或VB6都将为您工作。看看VB6。它很容易学习,也很容易使用GUI。

我喜欢C++Builder。NET Framework是由Borland的可视化组件库的开发人员设计的,因此如果您采用这种方式,您会觉得非常熟悉。

Windows API本身是用C编写的


<>如果C++不够轻量级,可以考虑C++或MFC,这对编写简单的GUI程序很有帮助。我认为这是一个非常重要的学习框架,因为它刚刚变成了LGPL。

在不知道您将要编写的应用程序的具体类型的情况下,很难说清楚……但是根据您提供的信息,MFC(如果您知道的话)或普通C/C++和Win32 API将是一个合理的选择


当然,MFC有点过时了。但它附带了无数的应用程序,撇开它的缺点不谈,它在很多方面都“起作用”。如果你能获得Visual C++ 6 .x的副本,那么有很多向导可以帮助你快速地找到一个应用程序。也就是说,我绝对不会建议学习MFC只是为了这个目的。

< P>如果你愿意考虑一个字节码解释器,它可以完全包含在你的安装中(你提到的Python解决方案会做什么),然后,您可以考虑使用和类似的方式将脚本连同解释器绑定到单个.exe中。要让Lua快速运行GUI,这是一个不错的选择,但也有其他GUI框架的绑定

如果这个问题是一个干净的安装,没有很多系统依赖性,而不是试图获得一个没有DLL的单个EXE,那么考虑使用LUA而不需要SRULA的麻烦来打包它。它不需要以任何神奇的方式安装,并且可以与您的脚本以及DLL或脚本形式的任何所需模块一起存在于单个文件夹中

将C可调用函数绑定到Lua核心很容易,因为作者从一开始就将其设计为嵌入到更大的应用程序中。例如,它只需要几行样板文件就可以创建一个用C编写的、分布在DLL中的Lua可调用模块

一个简单的方法是使用Lua以及一整套有用的模块,该项目为Lua维护了一个“含电池”的安装工具包。

为我提供了它的powerbasic(www.powerbasic.com)。它编译原生exe(真实的exe,而不是嵌入编译的字节码)。语法类似于旧的pds或quick basic(但更高级)。它允许内嵌汇编程序、面向对象类(可选,也可以只编写过程代码)。如果你有c语言背景,那就坚持下去。如果你喜欢basicy语言,那么pb是一种不需要动脑筋的语言。它就像带字符串的c。除此之外,如果您喜欢pascal,delphi的编译器可以生成本机EXE


-不要

另一种选择是坚持使用w/.Net并使用.Net链接器,如Salamander.Net链接器或Thinstall-这样你就不必担心客户端机器上有什么了。

也许是Pascal/Delphi

实际上,如果你想要兼容性,没有什么比不使用MFC的Win32应用程序更好的了。不确定STL是否位于VS安装的某个额外DLL中

另一方面,我记得在安装时看到VC++redistributables之类的消息丢失了,不确定它是否引用了MFC甚至核心库。最好不要使用MFC


您可以使用WTL for GUI,它将编译为您的可执行文件。

按照您可能会看到的C/C++的思路。默认情况下,它具有包括本机二进制文件在内的D的大部分优点,但有很多优点