- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
似乎没有 ANSI 标准方法来执行外部程序并获取其输出,如下面的 SBCL 特殊代码所做的那样:
(defmacro with-input-from-program ((stream program program-args environment)
&body body)
"Creates an new process of the specified by PROGRAM using
PROGRAM-ARGS as a list of the arguments to the program. Binds the
stream variable to an input stream from which the output of the
process can be read and executes body as an implicit progn."
#+sbcl
(let ((process (gensym)))
`(let ((,process (sb-ext::run-program ,program
,program-args
:output :stream
:environment ,environment
:wait nil)))
(when ,process
(unwind-protect
(let ((,stream (sb-ext:process-output ,process)))
,@body)
(sb-ext:process-wait ,process)
(sb-ext:process-close ,process))))))
以下 CCL 代码报告“错误:值 # 不是预期类型(和 CCL::BINARY-STREAM INPUT-STREAM)”
#+clozure
(let ((process (gensym)))
`(let ((,process (ccl:run-program "/bin/sh" (list "-c" (namestring ,program))
:input nil :output :stream :error :stream
:wait nil)))
(when ,process
(unwind-protect
(let ((,stream (ccl::external-process-output-stream ,process)))
,@body)
;(ccl:process-wait (ccl:process-whostate ,process) nil)
(close (ccl::external-process-output-stream ,process))
(close (ccl::external-process-error-stream ,process))))))
我对 CCL 知之甚少。我想知道如何修改此代码以支持 CCL?
感谢任何建议!
最佳答案
显然 trivial-shell:shell-command
不允许完全符合您的要求(它同步执行外部命令并返回整个输出)。
您可以查看 CCL 的 run-program
。见:
external-program
(在上述问题的一个答案中建议)由 Quicklisp 支持,它似乎对执行外部程序有更好的支持。关于common-lisp - 如何修改此代码以支持 CCL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146161/
我正在浏览 CCL 代码示例以及 oneapi 工具包。在下面的 DPC++(SYCL) 代码中,最初 sendbuf 缓冲区在 cpu 端创建并且未初始化,并且在卸载到目标设备的部分发生了 dev_
? (run-program "ls" '() :output *standard-output*) money.lisp ssqHitNum.txt ssqNum.txt # ? (run-prog
似乎没有 ANSI 标准方法来执行外部程序并获取其输出,如下面的 SBCL 特殊代码所做的那样: (defmacro with-input-from-program ((stream program
考虑以下几点: (directory (make-pathname :directory '(:absolute "Users" "gazonk" "foo" "*")
我正在使用 CCL Lisp 并行运行批量实验。在我的机器上,一切运行良好。但是,我想在服务器上使用它。当我在服务器上执行此操作时,我总是收到以下错误消息: > Error: on # : >
我正在使用 CCL 学习 Common Lisp。当我在本地使用全局变量时收到警告。为什么 CCL 提供这个功能?这样做的目的是什么? (setf n 75) ;;;This function wor
我是 ccl 的新手,想知道如何在 *.nib 文件和 ccl 中的对象之间进行“通信”?我浏览了“Apple's Currency Converter in Lisp”教程,但我不确定这两者如何“交
我使用 quicklisp 安装 linedit,http://www.cliki.net/Linedit说“应该在 Lispworks 和 OpenMCL/CCL 上工作。” $HOME/.ccl-
当我尝试按如下方式发送消息时: (let* ((temp-buffer message) (out-vector (make-array (length temp-buffer)
在 mac os x 10.9 上的 ccl 上,我在创建可执行文件时遇到问题。 (save-application "/full/path/to/saved-app":prepend-kernel
在发现一种使用我的新 Raspberry Pi 2(运行 Raspbian)的命令行从命令行观看 YouTube 视频的非常简单的方法后,仅使用易于获得的软件包,即: omxplayer -o loc
我正在尝试运行 Clozure 为 CCL-Cocoa 桥提供的“hello world”脚本: https://trac.clozure.com/ccl/wiki/CocoaBridge Load
在使用 Emacs、SLIME 和 Clozure CL 时,我有一个小问题:aref 的函数签名(我还没有看到任何其他实例)仅显示为 (aref a)。 当我转到源代码时,有问题的代码以 (defu
我用 CCL 调用了 (load "code.lisp"),然后不小心删除了 code.lisp。有什么办法可以找回源码吗? CCL 是否将其存储在任何地方? 最佳答案 这是一个非常特殊的功能。这里仅
我正在使用 hunchentoot session 值使我的服务器代码可重入。问题是,根据定义, session 值在 session 期间保留,即从同一浏览器的一个调用到下一个,而我真正要寻找的是线
大家 我正在尝试做一些计算并绘制结果,但这些对于 Maxima 来说似乎太重了。当我尝试计算 N1 和 N2 时,当参数 j 太高或尝试绘制它们时,程序崩溃,程序显示以下错误消息:“堆耗尽,游戏结束。
我是一名优秀的程序员,十分优秀!