~ $ gcc -o main main.c ~ $ cat main.c int main(){ int a = 0; return a; }
module Main where
import Text.Disassembler.X86Disassembler
import System.IO
main = do
res <- disassembleFile "main"
--res <- readFile "main" --так тоже не работает
print res
~ $ .cabal/bin/main main: main-d: hGetContents: invalid argument (invalid byte sequence)
И в GHCi
Prelude> readFile «main» «\DELELF\STX\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL>\NUL\SOH\NUL\NUL\NUL\DLE\EOT@\NUL\NUL\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\DC1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\NUL8\NUL\n\NUL@\NUL\GS\NUL\SUB\NUL\ACK\NUL\NUL\NUL\ENQ\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\NUL@\NUL\NUL\NUL\NUL\NUL@\NUL@\NUL\NUL\NUL\NUL\NUL0\STX\NUL\NUL\NUL\NUL\NUL\NUL0\STX\NUL\NUL\NUL\NUL\NUL\NUL\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\EOT\NUL\NUL\NULp\STX\NUL\NUL\NUL\NUL\NUL\NULp\STX@\NUL\NUL\NUL\NUL\NULp\STX@\NUL\NUL\NUL\NUL\NUL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL\NUL\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NUL*** Exception: main: hGetContents: invalid argument (invalid byte sequence) Prelude>
Что делать? Как читать файл?