Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 19:57   #1
nowaalex
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 59
По умолчанию mman и MAP_FIXED

Пишет "Invalid argument". Странно, почему??? С MAP_SHARED и MAP_PRIVATE работает прекрасно. Но MAP_FIXED НЕОБХОДИМ.

Код:
char * MEM = ( char * )malloc( sb.st_size );
    char * f = ( char * )mmap( MEM, sb.st_size, PROT_WRITE, MAP_FIXED, fd, 0 );

    if( f == MAP_FAILED )
    {
        perror( "Memory map" );
        return 1;
    }
nowaalex вне форума Ответить с цитированием
Старый 04.12.2010, 20:20   #2
nowaalex
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 59
По умолчанию

Ошибку примерно понял: void * addr (первый аргумент ф-ции mmap) должен быть выровнен по размеру страницы памяти. НО КАК ЭТО СДЕЛАТЬ?
nowaalex вне форума Ответить с цитированием
Старый 04.12.2010, 20:31   #3
nowaalex
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 59
По умолчанию

Код:
posix_memalign( &MEM, pageSize, sb.st_size );
Уже разобрался))
nowaalex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск