Я пытаюсь использовать системный вызов memfd_create в моем C-коде.Я попытался включить sys / memfd.h, так как страница руководства для memfd_create говорит, что это уместно, но GCC выдает мне ошибку «sys / memfd: Нет такого файла или каталога».
Я пробовал поискать в Google ине могу найти никого, имеющего ту же проблему.Я заметил, что некоторые версии man-страницы для memfd_create говорят, что я должен включить sys.mman.h, но, похоже, это не помогло, когда я попробовал.Было бы сказано, что memfd_create был неявно объявлен.
Вот минимальное воспроизведение моей проблемы.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/memfd.h>
int main(){
int fd;
fd = memfd_create("test", MFD_CLOEXEC);
return 0;
}
Я ожидаю, что приведенный выше код компилируется и запускается без ошибок.