我有一個通過PCIe總線插入電腦的大容量存儲設備(閃存),我想直接訪問此設備,即沒有任何文件系統(例如NTFS或ext4 ) 在上面。使用C/C++訪問RAW磁盤
如何使用C/C++來做到這一點? (在Windows 7和Linux上) 我想知道如果我可以1)打開設備只是作爲一個文件,然後讀取和寫入二進制數據,或2)使用一些功能如malloc
分配整個設備,然後每個設備上的字節有一個地址,以便我可以根據地址訪問它們。
如果可能,我更喜歡第二種方式,但我不知道操作系統是否支持此操作,因爲地址空間似乎需要與主內存共享。
不知道Windows,但'mmap()'是你在Linux上尋找的東西。 – xbug 2014-11-21 03:20:46
低級硬件支持是您可以在操作系統的API中找到的類型,而不是在標準的C/C++庫中。 – MrEricSir 2014-11-21 03:21:13
手邊有操作系統嗎?如果是,哪一個? – 2014-11-21 03:26:29