記憶體對映函式
#include
//把檔案內容和一塊同樣大小的記憶體空間關聯起來
void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
addr:null 系統自動分配記憶體空間
length:檔案中內容的大小
prot:prot_read prot_write prot_exec prot_none
flags:map_shared map_private
fd:記憶體關聯的檔案描述符
offset:檔案內容相對於檔案開始的偏移量
//撤銷檔案內容和記憶體的關聯
int munmap(void *addr, size_t length);
addr:mmap函式的返回值
length:檔案內容的大小
#include
int msync(void *addr, size_t length, int flags);
addr:mmap函式的返回值
length:檔案內容的大小
flags:ms_sync(同步) ms_async(非同步) ms_invalidate
例子:typedef struct record
int integer;
char name[32];
}record;
int main()
//標準檔案讀寫
file *fp=null;
int i=0;
fp=fopen("record.dat","w");
record tmp;
for(i=0;i<100;i++)
tmp.integer=i;
sprintf(tmp.name,"record-%d",i);
fwrite(&tmp,sizeof(tmp),1,fp);
fclose(fp);
//使用標準檔案io讀寫
fp=fopen("record.dat","r+");
fseek(fp,43*sizeof(record),seek_set);
fread(&tmp,sizeof(tmp),1,fp);
tmp.integer=143;
sprintf(tmp.name,"record-%d",tmp.integer);
fseek(fp,43*sizeof(record),seek_set);
fwrite(&tmp,sizeof(tmp),1,fp);
fclose(fp);
return 0;
記憶體對映函式
mmap函式 文章分類 c 程式設計 mmap函式的使用方法 unix網路程式設計第二卷程序間通訊對mmap函式進行了說明。該函式主要用途有三個 1 將乙個普通檔案對映到記憶體中,通常在需要對檔案進行頻繁讀寫時使用,這樣用記憶體讀寫取代i o讀寫,以獲得較高的效能 2 將特殊檔案進行匿名記憶體對映,...
python 函式對映 Python對映函式
我需要一些關於python的map函式的幫助。我正在嘗試執行此 但出現錯誤 更新帖子 這是我的確切 以及每個函式的輸出 infinity 1000000 invalid node 1 startnode 0 values to assign to each node class node def i...
休眠函式與訊號對映函式
下面 3 個函式可以使程序休眠指定的時間 會有所延遲 include unsigned int sleep unsigned int second 返回值 0 或未休眠完的秒數 include int nanosleep const struct timespec reqtp,struct time...