mmap將檔案對映到記憶體中,然後用指標指向記憶體,就可以方便高效的操作了。
建立檔案map_file,長度為256,對映到記憶體中,然後寫入字串,結束後用cat檢視是否寫入了。
#include #include #include #include #include #include #include #include #include #include #include #include #define file_ "map_file"
#define file_mode s_irusr | s_iwusr
int main(int argc, char* argv)
str[0]='a';
lseek(fd,255,seek_set);
write(fd,str,sizeof(char));
ptr = mmap(null, sizeof(char)*256, prot_read|prot_write, map_shared, fd,0);
if(ptr == map_failed)
close(fd);
sprintf(ptr, "the int = %d\n", i);
if (munmap(ptr, sizeof(char)*256) == -1)
return 0;
}
administrator@ubuntu:~/test$ ./sh
administrator@ubuntu:~/test$ cat map_file
the int = 7
aadministrator@ubuntu:~/test$
頁可以直接將標準輸入的至拷貝到該記憶體區:
// sprintf(ptr, "the int = %d\n", i);
printf("enter: ");
scanf("%s", ptr);
執行:administrator@ubuntu:~/test$ gcc share.c -o sh -g
administrator@ubuntu:~/test$ ./sh
enter: abcdxyz
administrator@ubuntu:~/test$ cat map_file
abcdxyzaadministrator@ubuntu:~/test$
Linux多執行緒實踐 7 多執行緒排序對比
int pthread barrier init pthread barrier t restrict barrier,const pthread barrierattr t restrict attr,unsigned count int pthread barrier destroy pthre...
Linux多執行緒實踐 7 多執行緒排序對比
int pthread barrier init pthread barrier t restrict barrier,const pthread barrierattr t restrict attr,unsigned count int pthread barrier destroy pthre...
python 多執行緒threading的使用
一 執行緒建立方法 1.普通建立 import threading defrun name for i in range 3 print name if name main t1 threading.thread target run,args t1 t2 threading.thread targ...