我使用的是FreeBSD操作系统,我想写入磁盘上的文件,但是,这需要花费很多时间,因此,我建议使用内存映射文件。但是,我是否处于两难境地,FreeBSD是否支持它?..请有人指导我吗??我正在用C ++编程。
答案 0 :(得分:6)
任何UNIX(符合Posix的操作系统)都有mmap
,所以FreeBSD就是这样。
STL不存在。 (参见例如What's the difference between "STL" and "C++ Standard Library"?)
你的意思是:
C ++标准库'有'吗?
不,C ++标准库不直接提供/包装对mmap的支持。但是,你可以看看这里:
boost::iostreams::mapped_file
答案 1 :(得分:3)
是的,FreeBSD有memory mapped files。不,STL不包含任何特殊支持。考虑使用Boost。