系统调用读取的缓冲区使用的地址格式是什么?

blz*_*blz 3 linux system-calls strace

我正在使用 strace,出现以下行:

读(3,“\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\3 \2\0\0\0\0\0@\0\0\0\0\0\00P\265\31\0\0\0\0\0\0\0\0\0@\0008 \0\n\0@\0G\0F\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\@\0\0\0 \0\0\0\0@\0\0\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\ 0\10\0\0\0\0\0\0"..., 832) = 832

第二个参数的格式是什么?那些 0、@ 和 \ 是什么?

我正在使用 Debian,搭配 Intel i5 CPU x86_64。

Joh*_*éen 5

该字符串使用 C 语法进行格式化。不可打印的字符使用八进制表示:空字节显示为\0,开头的 ELF 文件魔法显示为\177ELF. 输出显示在调用read完成后作为第二个参数给出的指针指向的内容。= 832最后显示返回值。