我試圖使用mmap讀取使用的1024我需要幫助輸入塊文件到MMAP
這裏塊是一個代碼片段文件....
numberOfBuffers = filesize/buffersize;
if (filesize % buffersize)
{
numberOfBuffers++;
}
for (i = 0; i < numberOfBuffers; i++) {
if((map = mmap(NULL, buffersize, PROT_READ, MAP_PRIVATE, fd, i * buffersize)) == MAP_FAILED) {
perror("map failed");
}
if(munmap(map, buffersize) == -1) {
perror("unmap failed");
}
}
我在第二次迭代中獲得「非法參數」錯誤。
我期待了解mmap以及如何通過已定義的緩衝區大小迭代mmap的幫助。
「...似乎是......」 - 不要猜測,請確保。 – Mat 2011-04-16 23:40:41
我認爲'if(numberOfBuffers%buffersize)'應該是'if(fileSize%buffersize)' – MByD 2011-04-16 23:41:03
對不起......我在第一個if語句後有一個打印語句,它只打印一次,然後我得到'非法參數'錯誤。 – Tony 2011-04-16 23:43:40