6-1.c

来自「linux下一些命令的c语言的实现」· C语言 代码 · 共 25 行

C
25
字号
#include <unistd.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <fcntl.h>
int main ()
{
      int md;
      int status;
      long pg_size;
      caddr_t virt_addr;
      /*创建共享内存对象 */
      md = shm_open ("my_memory", O_CREAT|O_RDWR, 0);
      pg_size = sysconf(_SC_PAGE_SIZE);
      if((ftruncate(md, pg_size)) == -1){    /* Set the size */
          perror("ftruncate failure");
          exit();
      }                                           
 /* 映射页 */
      virt_addr = mmap(0, pg_size, PROT_WRITE, MAP_SHARED, md, 0);
      status = munmap(virt_addr, pg_size);  /* Unmap the page */
      status = close(md);                   /*   Close file   */
      status = shm_unlink("my_memory");     /* Unlink shared-memory object */
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?