C语言内存映射文件如何实现,能否详细解释一下?
- 内容介绍
- 文章标签
- 相关推荐
本文共计332个文字,预计阅读时间需要2分钟。
我正在玩内存映射文件,想知道是否存在一种明确地使用fopen替换FILE *和内存映射文件的方法。例如:FILE *fp=g_fopen(...); // Program does things to this fp fclose(fp); 但相反,是否有FILE *的情况?
我正在玩C中的内存映射文件,并想知道是否存在是一种透明地用fopen替换FILE *和内存映射文件的方法.
例:
FILE * fp = g_fopen(...); //Program does things to this fp. fclose();
但相反,是否有可能有FILE * fp = my_fopen(…)
我自己的函数会在磁盘mmap上打开一个文件,也许更改内容然后传回FILE *而程序看不到任何东西
除了新的my_fopen()和my_fclose()之外.
这是否可以不必重写程序中的操作方式?
当Oracle购买sun时,许多文章似乎已经消失和/或无法通过Oracle网站访问.
这里有一些链接,暂时是可用的:
>这是2001年发表的原始文章:Building Library Interposers for Fun and Profit(Dobbs博士)
> developers.sun.com链接是原作者的转发版,可能与2001年的文章有所不同;这是重新发布:Debugging and Performance Tuning with Library Interposers(Wayback Machine)
>适用于Sun Studio / Oracle Solaris Studio的Linker & Libraries Guide.它涵盖了图书馆插入的主题,更多技术细节.
本文共计332个文字,预计阅读时间需要2分钟。
我正在玩内存映射文件,想知道是否存在一种明确地使用fopen替换FILE *和内存映射文件的方法。例如:FILE *fp=g_fopen(...); // Program does things to this fp fclose(fp); 但相反,是否有FILE *的情况?
我正在玩C中的内存映射文件,并想知道是否存在是一种透明地用fopen替换FILE *和内存映射文件的方法.
例:
FILE * fp = g_fopen(...); //Program does things to this fp. fclose();
但相反,是否有可能有FILE * fp = my_fopen(…)
我自己的函数会在磁盘mmap上打开一个文件,也许更改内容然后传回FILE *而程序看不到任何东西
除了新的my_fopen()和my_fclose()之外.
这是否可以不必重写程序中的操作方式?
当Oracle购买sun时,许多文章似乎已经消失和/或无法通过Oracle网站访问.
这里有一些链接,暂时是可用的:
>这是2001年发表的原始文章:Building Library Interposers for Fun and Profit(Dobbs博士)
> developers.sun.com链接是原作者的转发版,可能与2001年的文章有所不同;这是重新发布:Debugging and Performance Tuning with Library Interposers(Wayback Machine)
>适用于Sun Studio / Oracle Solaris Studio的Linker & Libraries Guide.它涵盖了图书馆插入的主题,更多技术细节.

