2016-12-11 2 views
1

Так что я хотел бы использовать функцию mremap более легко работать с памятью отображаются файлы, но неявная ошибка декларации возникаетmman.h делает функцию импорта MMAP, но не импортировать mremap

addr = mremap(addr, len, len_file, MREMAP_MAYMOVE); 

я включить требуемый библиотеки, если я не сделал строку

addr = mmap(NULL, len_file, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0); 

произвел бы такую ​​же ошибку.

Мой текущий заголовок имеет библиотеки, которые указаны в соответствии с требованиями

#include <sys/mman.h> 
#define _GNU_SOURCE 
+1

Вам нужно «#define _GNU_SOURCE» b прежде чем включать любые заголовки. – melpomene

+0

да, это определяло, спасибо человеку – Goamaral

ответ

2

Порядок неверен здесь:

#include <sys/mman.h> 
#define _GNU_SOURCE 

Вы должны определить _GNU_SOURCEперед тем включая заголовки:

#define _GNU_SOURCE 
#include <sys/mman.h> 
Смежные вопросы