差分

移動先: 案内検索

記憶管理

87 バイト追加, 2016年4月10日 (日) 12:48
/* mmap */
* プログラムmmap.c <syntaxhighlight lang='C' line="1" >#include <stdio.h>#include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/mman.h> main() { int fd; struct stat st; char *p; int i; fd=open("dat",O_RDWR); fstat(fd, &st); p=mmap(0,st.st_size,(PROT_READ|PROT_WRITE),MAP_PRIVATE,fd,0); for(i=0; i < st.st_size -1 ; i++) { printf("[%c]",p[i]); } close(fd); }</syntaxhighlight> * 実行<pre class="bash">
$ echo 'abcdefg' > dat
$ cc mmap.c
$ ./a.out
[a][b][c][d][e][f][g]$
</pre>