gpt4 book ai didi

c - C中的内存映射文件

转载 作者:太空狗 更新时间:2023-10-29 16:05:00 25 4
gpt4 key购买 nike

我在 C 中玩弄内存映射文件,想知道是否有是一种透明地用内存映射文件替换 fopen 中的 FILE * 的方法。

例子:

FILE * fp = g_fopen(...);

//Program does things to this fp.

fclose();

但是,是否可以使用 FILE *fp = my_fopen(...)

我自己的函数会在磁盘上打开一个文件 mmap 它,可能会更改内容然后传回 FILE * 而程序看不到任何东西除了新的 my_fopen() 和 my_fclose() 之外不同。

是否可以在不必重写程序中的操作方式的情况下做到这一点?

最佳答案

神奇的词是“库插入”。这是一个很好的教程: http://developers.sun.com/solaris/articles/lib_interposers.html


当 Oracle 购买 sun 时,许多文章似乎都消失了和/或无法通过 Oracle 网站访问。

以下是一些暂时可用的链接:

关于c - C中的内存映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/911296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com