2011-11-05 26 views
9

Tôi thường gặp các tình huống khi tôi để lại các hàm main :: IO() trong các thử nghiệm. Tôi có thể chạy các giá trị này với runghc, nhưng đôi khi tôi muốn biên dịch chúng (ví dụ: để chạy trên nền tảng khác). Có cách nào để làm việc này không? Nếu tôi chạy, ví dụ,haskell - làm thế nào để tạo ra một nhị phân từ một mô-đun không chính?

ghc --make Test.Haar 

nơi Test/Haar.hs có một phương pháp main, sau đó không có gì xảy ra, nó chỉ tạo ra các tập tin .o.

+1

Tôi không chắc chắn nếu đó là những gì bạn đang tìm kiếm, nhưng hãy kiểm tra tùy chọn -main-is (tài liệu tại http://www.haskell.org/ghc/docs/7.2.1/html/users_guide/options -phases.html) –

Trả lời

13
ghc --make -main-is Test.Haar Test.Haar 
4

Lưu ý, tuy nhiên, sau khi sử dụng -main-is Test.Haar, nếu bạn muốn sử dụng các mô-đun như một phần của một chương trình khác, bạn cần phải biên dịch lại nó mà không có sự -main-is, nếu không thì mối liên kết sẽ tìm thấy hai entry-điểm và ném một lỗi.

Các vấn đề liên quan