我正在尝试使用Haskell的LLVM绑定来创建一个非常简单的“hello world”独立应用程序。我的想法是,当我运行Haskell应用程序时,它将输出一些字节码,这些字节码可以反过来运行,并输出“hello world!”
-- hellofunc prints out "hello world"
hellofunc :: CodeGenModule (Function (IO ()))
_main :: (Function (IO ())) -> CodeGenModule (Function (IO ()))
_main func = createNamedFunction ExternalLinkage "main" $ do
call func
ret ()
main = writeCodeGenModule "hello.bc" (liftA _main hellofunc)
当我运行这个程序时,我看到以下错误:
'main' function not found in module.
我正在使用createNamedFunction
明确创建main
函数。 我错过了什么吗?
createNamedFunction
或该函数中存在错误。 - Vlad the Impala