簡體   English   中英

使用read()和write()系統調用訪問mmapped()內存

[英]Using read() and write() system calls to access mmapped() memory

我想問問是否有可能僅使用諸如read()和write()之類的系統調用來實現mread()函數。 我知道標准的C庫函數(例如fread()和fwrite())使用一種緩沖區來讀取。 我想做同樣的事情,但是這次我想從緩沖區將read()和write()映射到內存映射區域,反之亦然。 例如,我的mread()想從內存映射中讀取並存儲到緩沖區中。 創建一個新的fd用作我的TEMPORARY緩沖區是否有意義? 然后,我使用read()從內存映射區域讀取文件到fd ..,然后使用write()將fd中的內容存儲到我的實際buff中。
我希望我很清楚:) ..謝謝您的幫助!

我希望我很清楚

不幸的是,不是很好。 但這聽起來像您想使用pipe系統調用。 它打開兩個fds。 寫在寫端的任何內容都可以在讀端讀取。 如果在單個線程中執行所有這些操作,則必須小心,因為您可能會用完緩沖區空間,並且讀/寫調用將無限期掛起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM