Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 在64位windows下运行jwacs(lisp程序)_Javascript_Lisp_Common Lisp_Preprocessor - Fatal编程技术网

Javascript 在64位windows下运行jwacs(lisp程序)

Javascript 在64位windows下运行jwacs(lisp程序),javascript,lisp,common-lisp,preprocessor,Javascript,Lisp,Common Lisp,Preprocessor,多年来,我一直在使用javascript预处理器jwacs。我将其用作命令行实用程序(jwacs.exe)。Jwacs是用lisp编写的。我不知道lisp是什么版本。我的问题是jwacs.exe在64位windows版本下无法工作。它显示以下错误: 保留空间的验证太短。 虚拟语言:0x1e7。 确保_空间:未能验证0x02100000处的1044480字节 (提示:试试“ulimit-a”;也许你应该增加内存限制。) 我试着在WindowsXP兼容模式下运行它,也试着以管理员的身份运行,但没有任

多年来,我一直在使用javascript预处理器jwacs。我将其用作命令行实用程序(jwacs.exe)。Jwacs是用lisp编写的。我不知道lisp是什么版本。我的问题是jwacs.exe在64位windows版本下无法工作。它显示以下错误:

保留空间的验证太短。 虚拟语言:0x1e7。 确保_空间:未能验证0x02100000处的1044480字节 (提示:试试“ulimit-a”;也许你应该增加内存限制。)

我试着在WindowsXP兼容模式下运行它,也试着以管理员的身份运行,但没有任何效果。我还试图联系jwacs的制造商詹姆斯·赖特(james@chumsley.org)但他不回他的信


有人知道这方面的解决方案吗?

对于Windows,我无法回答这个问题,但事实证明jwacs很容易重建和使用。资源是可用的,为我干净地构建

实际上,jwacs在中是可用的,因此在安装了Quicklisp的系统上,加载它的任务非常简单,如
(ql:quickload“jwacs”)

重建二进制文件也非常容易(无论如何,这让我很惊讶)。如果您签出回购协议,则将包含以下内容的文件放在顶部目录中:

(包中:cl用户)
#-ASDF
(错误“注定”)
(加载“jwacs.asd”)
(asdf:制定“jwacs”)
然后,如果您正在使用例如

$ sbcl --load build-jwacs.lisp
将导致编译器发出一些小噪音,然后编写一个二进制文件,看起来就像您需要的那样:

$ ./jwacs
===============================================================================
jwacs - Javascript With Advanced Continuation Support
version: 0.3
-------------------------------------------------------------------------------
jwacs: No target specified
Usage: jwacs [options] <main_source_file>
[...]
$。/jwacs
===============================================================================
jwacs-Javascript,具有高级延续支持
版本:0.3
-------------------------------------------------------------------------------
jwacs:未指定目标
用法:jwacs[选项]
[...]
我还使用mac上的LispWorks构建了它,它同样无痛

因此,一旦运行了一个工作的CL环境,问题就变得很容易解决了。不幸的是,这给您带来了在Windows上获得一个工作的Lisp环境的问题。我不能帮上忙,因为我不是Windows的人,我不太愿意提出建议。然而,搜索
通用Lisp窗口
可能很有用:这肯定是很多人都会做的事情。虽然我没有用过它,但它看起来确实是一个很好的起点


很抱歉,这不是一个完整的答案,但我希望它能帮助您找到解决方案。

jwacs二进制文件可以在64个Windows上构建,如下所示

安装SBCL for Windows-可以下载安装程序

安装适用于Windows的curl-说明

安装Quicklisp-说明

使用Quicklisp安装cl ppcre-说明

安装git for Windows-说明

运行以下命令:

git config --global core.eol lf
git config --global core.autocrlf input
使用以下命令克隆jwacs repo:

git clone https://github.com/chumsley/jwacs
sbcl --load build-jwacs.lisp
将Cd放入jwacs文件夹中,并创建一个名为build-jwacs.lisp的文件,该文件包含以下内容:

(in-package :cl-user)

#-ASDF
(error "Doomed")

(load "jwacs.asd")
(asdf:make "jwacs")
最后,使用以下命令生成可执行文件:

git clone https://github.com/chumsley/jwacs
sbcl --load build-jwacs.lisp

从功能列表来看,jwacs基本上已经过时了;JS现在以本地方式完成所有这些事情。因此,我建议的解决方案是了解模块和异步等待。这可能比安装一个虚拟机或任何仍然运行exe的东西花费更少的时间。有趣,但不实用。使用此解决方案,我将不得不修改和测试30000多行代码。在这种情况下,我想我们可以在虚拟机中运行32位版本的Windows?如果您愿意,我可以尝试为您构建64位Windows可执行文件。让我知道。非常感谢你,麦克。我已经测试过了,它产生的输出与32位版本相同。出于好奇,我尝试在Windows上构建它。经过一番修补之后,我发现了这个编译错误:C:/Users/marti/AppData/Local/cache/common-lisp/sbcl-2.0.0-win-x64/C/lisp/jwacs/external/yacc-tmpGHU3ALSV.fasl;编译在0:00:00.442完成,同时评估从#P“C:/lisp/jwacs/build jwacs.lisp”的第7行第0列开始的表单:在UIOP/lisp-build:COMPILE-FILE-ERROR in thread中调用的调试器#:编译时COMPILE-FILE-ERROR#you help?@mac该错误消息没有包含足够的详细信息。你能不能把输出中的所有东西都粘贴起来?@mac:不太可能,我上次在Windows上使用Lisp是很久以前的事了。闻起来好像根本找不到文件。@tfb以下是整个输出:@mac:这可能是规范中的SBCL错误或令人讨厌的边缘问题,Windows或所有三个都有问题。它修改了一个format指令(
~
后跟一个换行符),因为它将它视为
~
后跟(可能是return,然后是换行符),这是因为换行符,但我不知道这里会发生什么。对不起,如果没有我没有的Windows机器,我无法回答这个问题