tôi phải phân tích một tập tin, và thực sự là một phải đọc nó lần đầu tiên, đây là chương trình của tôi:Làm cách nào để phân tích cú pháp tệp 7GB bằng Data.ByteString?
import qualified Data.ByteString.Char8 as B
import System.Environment
main = do
args <- getArgs
let path = args !! 0
content <- B.readFile path
let lines = B.lines content
foobar lines
foobar :: [B.ByteString] -> IO()
foobar _ = return()
nhưng, sau khi biên soạn
> ghc --make -O2 tmp.hs
thực hiện đi qua các lỗi sau khi được gọi với một tập tin 7Gigabyte.
> ./tmp big_big_file.dat
> tmp: {handle: big_big_file.dat}: hGet: illegal ByteString size (-1501792951): illegal operation
cảm ơn bạn đã trả lời!
Bạn đang sử dụng nền tảng nào? –
@DanielFischer bạn gọi 'nền tảng' là gì? Nếu đó là hệ điều hành, thì tôi đang sử dụng Linux ubuntu 10.4. Cảm ơn –
32 bit hoặc 64? Nói chung, một hệ điều hành 32 bit sẽ gặp vấn đề với các tệp lớn. –