我有一个通过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