3

[linux 3.2] 我想知道是否可以找出在程序中打开的文件的内存位置。假设我在 a.cpp 中有以下代码,它编译为 a.out:

FILE *f = fopen("myfile", "r");

内容会映射到a.out的内存空间吗?如果是这样,我怎么能找到它(页面?范围?)?

谢谢

4

1 回答 1

4

FILE* 指向的结构包含有关文件状态的一些信息。内容没有映射​​到程序的内存空间。

如果要将文件内容映射到内存空间,则必须使用 mmap() 函数。这将为您提供指向进程逻辑内存空间中的内存区域的指针。该内存区域将保存文件的内容。

于 2013-04-04T18:34:18.910 回答