Ошибка функции mmap в коде из статьи

Рейтинг: 0Ответов: 1Опубликовано: 01.03.2023

Я захотел вывести картинку через framebuffer в линукс написал код на Си. Нашел следующую статью: https://kevinboone.me/linuxfbc.html?i=1 Но у меня возникла проблема с одной строчкой

char *fbdata = mmap (0, fb_data_size, 
        PROT_READ | PROT_WRITE, MAP_SHARED, fbfd, (off_t)0);

Компилятор выдает следующую ошибку

invalid conversion from 'void*' to 'char*' [-fpermissive]

Функции mmap вроде не возращает значений, но почему автор пишет что она может вернуть какое-то значение?

Ответы

▲ 1

Кастуйте void* ко char*:

char* framebuffer_data = (char*) mmap(0, fb_data_size, 
    PROT_READ | PROT_WRITE, MAP_SHARED, fbfd, (off_t) 0);