Код: Выделить всё
#include
#include
int main(void) {
FILE *fp;
char line[1024];
fp = fopen("/proc/self/maps", "r");
if (fp == NULL) {
perror("Failed to open maps file");
return 1;
}
while (fgets(line, sizeof(line), fp)) {
char addr[32], perms[8], offset[32], dev[32], inode[32], path[256];
unsigned long start, end;
path[0] = '\0';
sscanf(line, "%lx-%lx %s %s %s %s %[^\n]", &start, &end, perms, offset, dev, inode, path);
int ret = madvise((void*)start, end - start, MADV_DONTNEED);
if(ret == 0)
printf(" OK\n");
else
printf(" Error\n");
fflush(stdout);
}
fclose(fp);
}
Код: Выделить всё
OK
OK
OK
OK
Segmentation fault
Подробнее здесь: https://stackoverflow.com/questions/793 ... -segfaults