我编译了我的helloworld.hs并得到了一个helloworld.o文件,我尝试了./helloworld,但它没有工作,那么执行helloworld的正确方法是什么? 我使用Cygwin的,我只是写下$ GHC --make helloworld.hs,我得到helloworld.hi,helloworld.exe.manifest,helloworld.o文件,我不知道是什么我是否需要做下一步...如何在cygwin中执行haskell程序
3
A
回答
1
因为您还没有指定如何编译的任何内容,例如您正在使用的编译器,我们只能猜测。 使用-c开关获取.o(object)文件的常用方法是使用-c开关;正如手册所说,这意味着“不要链接”。助记符是“编译只有”。没有链接,你只有一个程序的一部分,它不能被执行。正确地说,它需要链接的依赖于特定的目标文件,如果你只是让编译器运行链接器,那么默认情况下会填充一些目标文件。分开链接更复杂。
3
根据您使用Cygwin ghc还是Windows本地ghc,您得到a.out
(历史传统名称)或helloworld.exe
。如果您有a.out
,则需要将其重命名为.exe
以在Windows上执行。
你可以很容易地告诉ghc如何调用可执行文件:ghc -o helloworld.exe --make helloworld.hs
。
顺便说ghc --help
会告诉你:
编译并链接一个完整的Haskell程序编译运行,像这样:
ghc-6.8.2 --make Main
其中模块主要是在一个名为主文件。 hs(或Main.lhs)在当前目录中。程序中的其他模块将被自动定位和编译,链接的程序将被放置在Windows上的a.out' (or
Main.exe文件中。
相关问题
- 1. Haskell:继续执行程序
- 2. 如何在CygWin中执行.lua文件?
- 3. 如何在cygwin中执行shell脚本?
- 4. 如何在Haskell中执行HTTPS请求?
- 5. 从.NET执行Cygwin进程?
- 6. 如何在Cygwin下安装Haskell readline?
- 7. Haskell的执行顺序
- 8. 在Cygwin中执行Python代码行
- 9. 如何在emacs-haskell模式下运行haskell应用程序?
- 10. 如何在python中执行Fortran程序
- 11. 你如何在Eclipse中执行程序?
- 12. cygwin不执行make
- 13. 如何在Windows中执行cygwin中的关机命令
- 14. 编写运行cygwin bash并执行程序的shell脚本
- 15. printf在cygwin中执行.exe文件
- 16. 在ghci中运行haskell程序
- 17. shebang如何执行程序?
- 18. 如何仅使用Haskell无休止地运行Haskell程序?
- 19. 如何在WinGHCi中运行这个haskell程序?
- 20. 关闭程序在执行程序中如何工作?
- 21. 在java中执行程序
- 22. 在C中执行程序
- 23. 如何通过Windows中的cygwin运行Nmap程序?
- 24. 在Cygwin中运行C程序不会产生任何结果
- 25. 如何运行在Cygwin
- 26. 执行NodeJS的cygwin命令
- 27. Haskell,编译器,执行令牌顺序?
- 28. 如何在Haskell中执行Google自定义搜索(使用gogol)?
- 29. 如何在真实世界的Haskell中执行代码?
- 30. 如何在此Haskell列表函数中执行多个操作?
'.o'不可执行。你是如何编译它的? – kennytm 2010-07-23 17:04:40
ghc --make helloworld.hs – Rn2dy 2010-07-23 17:09:56
'helloworld.hs'中有什么? – 2010-07-23 17:47:13