⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-4.c

📁 《Linux应用开发技术详解》附书光盘中的例程。
💻 C
字号:
#include <unistd.h>     /* Support all standards    */
#include <stdlib.h>     /* malloc support           */
#include <sys/mman.h>   /* Memory locking functions */

#define BUFFER 2048

void main()
{
  void *p[3];  /* Array of 3 pointers to void */
p[0] = malloc(BUFFER);

 	/* Currently no memory is locked */

  if ( mlockall(MCL_CURRENT) == -1 )
    perror("mlockall:1");

 /* All currently allocated memory is locked */

  p[1] = malloc(BUFFER);

 /* All memory but data pointed to by p[1] is locked */

  if ( munlockall() == -1 )
    perror("munlockall:1");

 /* No memory is now locked */

  if ( mlockall(MCL_FUTURE) ==- 1 )
    perror("mlockall:2");

       /* Only memory allocated in the future */
       /*   will be locked */
  p[2] = malloc(BUFFER);

 /* Only data pointed to by data[2] is locked */

  if ( mlockall(MCL_CURRENT|MCL_FUTURE) == 1 )
    perror("mlockall:3");

  /* All memory currently allocated and all memory that  */
  /* gets allocated in the future will be locked         */
}

⌨️ 快捷键说明

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