0

设想 :

当有人进入我的网站www.domain.com/mypage.jsp时,他会找到一个输入文本框来输入他的名字,以及一个下载按钮。当用户输入他的名字并点击下载按钮时,他将被重定向到一个链接,在该链接中他可以下载在 windows 下运行的可执行文件,当单击 exe 时,用户将看到一条 hello world 消息。


问题:我应该用哪种编程语言编写“Hello World Executable”,这样我可以轻松地对其源代码进行一些修改并从 JSP 网页编译它。

如果您分享有关如何从 JSP 网页编译小型 Hello World exe、我需要导入哪些库以及从 JSP 网页更容易编译哪种语言的任何示例,我们将不胜感激。

4

1 回答 1

1

也许其中最困难的部分是找到一种具有现有交叉编译器平台的编程语言,该平台将在您的服务器运行的任何操作系统上编译 .exe 文件。如果您的服务器运行 Windows,这并不难。这里的问题是我们不确定您正在运行哪个操作系统。不用猜测,似乎以 VB 的形式存在解决方案(但不幸的是)。您的服务器永远不必修改源代码。您的代码可能类似于:

Module mainModule
    Sub Main()
        Console.WriteLine("Hello " & Name & ". Press enter to exit.")
        Console.ReadLine()
    End Sub
End Module

为了编译它,服务器可以调用 Microsoft VB 编译器或 Mono VB 编译器作为 shell 命令,使用/define:开关来定义 Name。确保在将名称放入命令之前对其进行清理!确保它不包含任何命令行可能会不受欢迎地解释的字符,例如管道字符、换行符和引号。

单声道命令:vbnc filename.vb /define:Name=\"Fred\" /out:Fred.exe

微软命令:vbc filename.vb /define:Name=\"Fred\" /out:Fred.exe

如果您的服务器碰巧运行 Windows,那么您可以调用 Microsoft C++ 编译器来实现与 C 代码相同的效果。这也好不了多少。也许,如果取得了一些成功,您可能能够cl.exe从 Windows 环境复制到 Linux(或其他非 Windows)环境,并使用 WINE 运行它。如果是这样的话,我更喜欢那个选项。您的源代码可能如下所示:

#include <stdio.h>
int main(void) {
    puts("Hello " NAME ". Press enter to exit");
    getchar();
}

...并且该命令看起来像:wine cl.exe filename.c /DNAME="Fred" /out:Fred.exe,具有防止恶意用户劫持您的系统所必需的相同预防措施。

于 2013-04-15T16:31:18.953 回答