为什么stdout在libc中?

时间:2018-05-08 14:04:19

标签: c assembly binary libc

问题

为什么二进制文件中的stdout变量链接到libc地址?

这个具体的libc地址是什么?

1 个答案:

答案 0 :(得分:2)

module.exports = helper1指向的FILE对象可以在运行时由libc init函数分配,用于像glibc这样的libc实现,需要在FILE *stdout运行之前调用init函数。 / p>

  

因此它不应该全局存在于libc中,因为它们都具有相同的标准输出

每个进程都有自己的main指针,指向自己的stdout对象,因为共享库的数据部分是私有映射。

使用相同库的不同进程没有共享内存用于读写数据。