使用raco exe编译Racket程序后,如何让可执行文件自动执行main函数?
问题场景
以下是一段Racket代码:
#lang racket/base (provide main) (define (main) (displayln "hi"))
使用racket -tm test.rkt运行该代码时会输出hi,但通过raco exe test.rkt编译生成可执行文件后,运行该文件不会输出hi。需要了解raco exe是否有类似参数,能让生成的可执行文件自动运行main函数。
解决方案
- 使用
raco exe -m test.rkt进行编译,-m参数的作用和racket -m一致,会让生成的可执行文件自动调用被导出的main函数,运行编译后的程序即可输出hi。 - 另一种方式是在代码末尾直接添加
(main)调用实现执行,但使用-m参数更贴合通过命令行参数实现需求的场景。
内容的提问来源于stack exchange,提问作者user1785730
相关产品推荐
相关产品推荐

