2012-06-11 34 views
6

Tôi đang chạy cài đặt mặc định nền tảng Haskell trên Ubuntu và khi tôi chạy ví dụ này http://www.haskell.org/haskellwiki/Calling_Haskell_from_C "ghc -c -O Safe.hs" không tạo tệp Safe_stub.o . Tôi đã kiểm tra này trên một cài đặt riêng biệt của Ubuntu trên một hộp bạn bè và trên cả hai 32 bit và 64 bit cài đặt Ubuntu.ghc 7.4.1 không sản xuất tệp stub.o

Ai đó có thể xác nhận xem cài đặt này chỉ dành riêng cho cài đặt ghc-7.4.1 hoặc Ubuntu không?

Cảm ơn!

Trả lời

11

Đó là điều ghc-7.4 (ghc >= 7.2 thực sự). Điều đó không cần và sản xuất các tệp *_stub.o (hoặc *_stub.c) nữa. Tuy nhiên, các dòng lệnh trong việc soạn thảo chính thức có thay đổi

$ ghc -no-hs-main -optc-O test.c Safe.o -o test 

Bạn phải nói với GHC rằng main không phải là một cuộc gọi Haskell.

+1

Điều cần biết, tôi đã ở trên #haskell irc và người dùng cho biết nó vẫn nằm trong thông số kỹ thuật và có thể đã được chuyển hướng. Cảm ơn, khi tôi nhận được xung quanh nó, tôi sẽ cập nhật wiki haskell để phản ánh điều này. –