На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Как осуществляется мэппинг файлов в Qt?
    Как осуществляется мэппинг файлов (отображение файлов в память) в Qt?

    Например, на WinAPI есть следующий код:

    ExpandedWrap disabled
      typedef struct
      {
          long  DAT;
          long  F0;
          long  A0;
          long  F1;
          long  F81;
          long  F40;
          long  Ap365;
          long  PR;
      } FF_ms;
       
      //...
       
      FF_ms *F=NULL;
       
      //...
       
      HANDLE  hFile = CreateFile(NAme_A, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
      if (hFile!=INVALID_HANDLE_VALUE)
      {
          hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
          if (hMapping!=NULL)
          {
              CloseHandle(hMapping);
              F = (FF_ms*)MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
              if (F)
              {
                  CloseHandle(hMapping);
                  j_atm = 1;
              }
          }
      }


    Как этот код будет выглядеть в Qt?
      Цитата erslgoeirjh @
      Как осуществляется мэппинг файлов (отображение файлов в память) в Qt?

      Почитай тут про uchar *QFileDevice::map(qint64 offset, qint64 size, QFileDevice::MemoryMapFlags flags = NoOptions)

      Возможно это именно то, что ты ищешь.
        Ну и на всякий случай: в Boost тоже есть вариант memory-mapped files (причём кросс-платформеррный, если не ошибаюсь). Тащить при этом за собой весь буст не надо - там несколько хидеров было, мы их легко в проект втянули, без танцев с бубном.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0199 ]   [ 16 queries used ]   [ Generated: 27.04.24, 10:15 GMT ]