2012-07-01 21 views
2

mmap()用於創建由文件系統支持的內存區域。但是,我想要反過來:一個由內存支持的文件。那可能嗎?我有一個傳統的靜態庫(意味着它不可能改變它)只能打開一個本地文件。我無法將其更改爲使用重定向的fd或stdin(因爲pipe不支持seek)我希望從Windows共享(CIFS/SMB)流式傳輸文件內容。是否有可能在虛擬大小的本地文件系統上創建虛擬文件,以及何時傳統靜態庫訪問文件的任何部分(查找或讀取,不寫入),我們通過從CIFS/SMB進行獲取並返回到舊版庫(就像處理頁面錯誤一樣)?然後舊式庫不會注意到任何區別...內存支持的虛擬文件(反向MMAP)?

由於權限問題,無法掛接CIFS/SMB共享。 假設環境是POSIX,但是,也歡迎操作系統特定的建議。

+6

WTF,你想編寫自己的虛擬文件系統從CIFS中讀取而無需掛載,因爲你有權限問題? – 2012-07-01 04:15:00

+0

在linux中,您可以使用FUSE,但當然您可能會發現類似的權限問題,具體取決於操作系統配置。 – rodrigo

回答

1

可能您正在尋找shm_openshm_overview(7)手冊頁是開始搜索的好地方。