如何将+RTS
个选项传递给使用stack exec
的程序运行?
我已在我的cabal文件中将-rtsopts
添加到ghc-options
,并使用stack build
构建了一个程序。如果我手动运行该程序,则正常和+RTS
命令行参数都可以工作:
>.stack-work\dist\ca59d0ab\build\iterate-strict-exe\iterate-strict-exe.exe 25 +RTS -s
OK
3,758,156,184 bytes allocated in the heap
297,976 bytes copied during GC
...
但如果我用stack exec
运行它,只有正常的选项到达程序
>stack exec iterate-strict-exe -- 25 +RTS -s
OK
如果我按照@epsilonhalbe的建议调整参数的顺序,我会得到相同的结果。
>stack exec -- iterate-strict-exe 25 +RTS -s
OK
似乎没有建议的--rts-options
选项传递给stack exec
。
>stack exec --rts-options "-s" -- iterate-strict-exe 25
Invalid option `--rts-options'
Usage: stack exec CMD [-- ARGS (e.g. stack ghc -- X.hs -o x)] ([--plain] |
[--[no-]ghc-package-path] [--[no-]stack-exe] [--package ARG])
[--help]
Execute a command
我正在使用stack
版本1.1.2
>stack --version
Version 1.1.2, Git revision c6dac65e3174dea79df54ce6d56f3e98bc060ecc (3647 commits) x86_64 hpack-0.14.0
stack upgrade
到1.4.0
之后的相同内容。
将整个命令作为字符串传递(另一个建议)会导致找不到该名称的命令
>stack exec -- "iterate-strict-exe 25 +RTS -s"
Executable named iterate-strict-exe 25 +RTS -s not found on path: ...