C中的内存映射文件

Jam*_*mes 3 c memory file-io transparency library-interposition

我正在使用C中的内存映射文件,并想知道是否有办法透明地用fopen替换FOLD*和内存映射文件.

例:

FILE * fp = g_fopen(...);

//Program does things to this fp.

fclose();
Run Code Online (Sandbox Code Playgroud)

但相反,是否有可能有FILE*fp = my_fopen(...)

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

这是否可以不必重写程序中的操作方式?

Dav*_*ave 5

神奇的词是"图书馆介入".这是一个很好的教程:http://developers.sun.com/solaris/articles/lib_interposers.html


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

这里有一些链接,暂时是可用的: