Pet*_*lák 11 linker haskell ghc
帮助说:
-c Do not link
Run Code Online (Sandbox Code Playgroud)
和
-no-link Omit linking
Run Code Online (Sandbox Code Playgroud)
据我所知,-c完全阻止了连接部分.但是如果我指定的话有什么区别-no-link?链接阶段实际上除了链接之外还做了什么吗?
更新:有趣的是,-no-link被弃用GHC 6.12,但在GHC 7 undeprecated.
AFAK -c不处理依赖项.例如
Main.hs:
module Main
where
import Test
main :: IO ()
main = test
Run Code Online (Sandbox Code Playgroud)
Test.hs:
module Test
where
test :: IO ()
test = print 123
Run Code Online (Sandbox Code Playgroud)
尝试编译-c:
$ ghc -c Main.hs
Main.hs:5:1:
Failed to load interface for `Test'
Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)
用-no-link:
$ ghc -no-link Main.hs
[1 of 2] Compiling Test ( Test.hs, Test.o )
[2 of 2] Compiling Main ( Main.hs, Main.o )
Run Code Online (Sandbox Code Playgroud)