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


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Qt v.5.5.1. Существует ли простой путь узнать, сколько оперативной
    А не надо PNG заливать. Заливай JPG
      Спрошу как интересующийся прикладными программами, а не как специалист по операционным системам.

      А почему автор ветки так плотно привязывается именно к Qt?
      Понятно, что в среде Qt легче всего (?) создавать программы с графическим интерфейсом. Хотя в Qt есть немало и невизуальных классов (например, там есть отличные классы для перекодировки, скажем, из Win1251 в UTF8 и наоборот).
      Но главная беда Qt состоит в том, что эта среда должна быть установлена на ПК.
      А это не всегда тривиально. Например, без танцев с бубном не установить Qt-64 на Windows 64bit. Не уверен (?), что Qt можно просто и без проблем установить в Mac OS...

      К чему я клоню?
      Может задаться вопросом работы с памятью для "чистых" C/C++? Без привязки к Qt.
      В Linux компиляторы clang и gcc устанавливаются чуть ли не по-умолчанию при установке ОС.
      Да и в Windows компилятор mingw64 качается на УРА - что 64bit, что 32bit. Установка - простое копирование содержимого архива в каталог. И далее компилируй - не хочу! Вне зависимости от установки Qt.
      |
      Сам пока для себя выбрал такую стратегию: Qt установил в Linux и в нем же разрабатываю/отлаживаю ПО для командной строки.
      (Просто в среде Qt очень удобно отлаживать программы).
      Ну а компилирую программы для проведения массовых технических расчетов в командной строке - уже в clang или в mingw64.
      P.S. Для этой цели даже прикрутил модуль iconv с целью придания консольным программам универсальности (кирилица одинаково хорошо отображается что в Win, что в Linux без правки кода программы). Тема есть на форуме...
      Сообщение отредактировано: mkudritsky -
        Цитата mkudritsky @

        Требования на работе - Astra v.2.12.43 + Qt v.5.11 + компилятор, устанавливаемый пакетом Астры (забыл, как называется). Мне тупо повезло, что эта связка поможет мне решить задачу в итоге, хоть и нескоро.

        Спустя неделю (пока нет линукса в доступе) попробую позабивать 99 и 100% свободной на текущее мгновение RAM. Если выгорит - остается написать прогу, создающую функции по шаблону (на каждый объем в ГБ - своя функция: так быстрее). Я уже достиг скорости проверки RAM по своему личному алгоритму 2ГиБ/с. Если все выгорит и дальше, и получится сделать универсальный встраиваемые в разное ПО модуль проверки RAM - утру нос Сэмюэлю Демюльместеру, как утер в свое время Марку Руссиновичу, создав аналог его SDelete - только в десятки раз быстрее.

        https://bad-good.ru/programs.html#fast_zerofilling
          В связи с моим увольнением, доступа к Linux больше не будет (по своим соображениям: нужно другие задачи закончить). Удалось забить больше 90% свободной RAM в комбинации Astra v.2.12.43 + Qt v.5.11 один раз - но делалось это в такой спешке, что не совсем уверен в этих 90+%.

          Напоследок, для закрытия темы. Да, Qt v.5.5.1 лютое днище.

          Оно отличилось своей глючностью снова на материнской плате EliteGroup RS482-M754 rev 1.0: устанавливается в Windows XP некорректно, вызывая ошибку "точка входа в процедуру strlen не найдена в библиотеке DLL msvcrt.dll" - несмотря на работоспособность на той же ОС в другом ПК. С учетом достаточности оперативной памяти и видеопамяти - не поддерживает именно процессоры старых поколений, несмотря на их 64-битность.

          Выражается это в полном зависании при открытии проекта. Он открывается бесконечно. При запуске же самой среды - указанное сообщение появляется раз 5 подряд.
          Сообщение отредактировано: Сергей85 -
            Цитата Сергей85 @
            Оно отличилось своей глючностью снова на материнской плате EliteGroup RS482-M754 rev 1.0: устанавливается в Windows XP некорректно, вызывая ошибку "точка входа в процедуру strlen не найдена в библиотеке DLL msvcrt.dll" - несмотря на работоспособность на той же ОС в другом ПК. С учетом достаточности оперативной памяти и видеопамяти - не поддерживает именно процессоры старых поколений, несмотря на их 64-битность.

            Сергей, по-моему ты слишком категоричен в своих суждениях. Постараюсь тебе ответить по пунктам:
            • "точка входа в процедуру strlen не найдена в библиотеке DLL msvcrt.dll", тут дело не в устанавливаемом фрэймворке, а в QtCreator'е. Дело в том, что с какой-то версии в нем пропала поддержка Windows XP. Может дело в неточном соответствии ОС (и его сервиспаков) на одном, и на другом компе. Выход из этой ситуации прост - ставить QtCreator более низкой версии отдельно, а остальной фрэймворк отдельно. Народ это обсуждал - как пример.
            • "Да, Qt v.5.5.1 лютое днище" - ну не лютое и не днище, но багрепортов хватает как и везде, где сложнее хэлоуворлда
            • Выделение памяти (да и работа с памятью) на разных ОС все же разная, это нужно учитывать. Qt не даст нужной гибкости - это все же кроссплатформенная либа. Для твоих требований работы с памятью нужно использовать API конкретной ОС, с указанием флагов при выделении памяти. См. к примеру для винды. Сейчас не скажу, не помню, но можно было указывать получение памяти, которая не будет перемещаться в своп. Думаю и в *nix системах есть подобные механизмы
            • Qt - все же жЫрная либа, тут согласен. И от версии к версии это жЫрнота растет. Для твоих целей можно было бы сперва ограничиться использованием просто голого С++ в консоли, отладиться. И только потом искать GUI. Вот, например, еще интересная либа - Nana. Не такая жирная. Но я ее не тестил, так по статьям прочитал.
            • Ну и последнее - запрашивать у винды более 75-80% от размера ее физической памяти - моветон. Я не поделюсь ссылками, просто для себя такое заметил. Было 8Гб - запросил 80%, вижу некоторые тормоза. Потом докинул в комп еще 8Gb, и опять запросил 80% - все равно вижу некоторые тормоза. Т.е. на 8Гб и на 16Gb - поведение как-то коррелирует с запрашиваемым объемом в %.
              Цитата Majestio @
              "точка входа в процедуру strlen не найдена в библиотеке DLL msvcrt.dll", тут дело не в устанавливаемом фрэймворке, а в QtCreator'е.


              Вот поэтому и категоричен. Фреймворк отдельно, креатор отдельно - нафиг мне не нужны их несовместимости.

              По RAM. С включением файла подкачки ситуация в винде изменилась. Ранее было доверие числу ullAvailVirtual - теперь оно стало показывать бредятину: объем больше физического планки. А вот ullAvailPhys начал показывать правильно. И если смотреть предыдущие скрины этой темы (где Phys после выделения 1ГиБ показывает фигню несусветную),

              https://forum.sources.ru/index.php?act=Atta...attach_id=63435

              получается, что нужно делать ручной анализ на присутствие файла подкачки в системе (а, точнее, его использование: он же может просто валяться неудаленным после отключения свапа, например).
                Цитата Сергей85 @
                Вот поэтому и категоричен. Фреймворк отдельно, креатор отдельно - нафиг мне не нужны их несовместимости.

                Будь милосерден :lol: Креатор - это просто IDE. Ну не поставилось, возьми меньшую версию, или вообще не пользуй Креатор, а возьми что-то другое, допустим Code::Block, если конечно и он пойдет под XP.

                Полезная ссылка по определению физической памяти
                Полезная ссылка про Диспетчер Памяти
                Полезная ссылка про блокирование страниц выделенной памяти в RAM (ищи там про VirtualLock/VirtualUnlock)

                Уверен - твои "изыскания" еще не закончены ;)
                  Цитата Сергей85 @
                  В связи с моим увольнением, доступа к Linux больше не будет (по своим соображениям: нужно другие задачи закончить)


                  Небольшая ремарка.
                  У меня на всех домашних ПК установлен Linux. Кроме ПК жены - там установлена Windows 7.
                  Так вот, я и на ПК жены прикрутил Linux через виртуальную машину - через VirtualBox. Отличная программа!
                  На работе тоже самое - Win и через VirtualBox установлен Linux.

                  Не то, что я против Windows, но интуиция подсказывает - сейчас надо больше времени уделять Linux в силу известных причин.
                  (Ну это если Вы живете и работаете в России, разумеется).
                  Хотя к Linux у меня есть претензии как раз со стороны работы программ, использующих (почти) всю физическую память ПК.
                  Например, Задача Коммивояжера или Задача поиска минимального покрывающего дерева для графа больших размерностей в среде Windows работают процентов на 40% быстрее, чем в Linux.
                  То есть средства для работы с динамической памятью в Windows реализованы лучше. (ИМХО, конечно).

                  Теперь по существу.
                  То, что программы Qt не находят точки входа в процедуру, по моему опыту связано с тем, что компиляция программы проводилась в другой версии Qt.
                  Например, *.exe получен в Qt v5.5.1, перенесен на ПК, где усановлен Qt v5.5.0 - получаем сообщение о невозможности найти точку входа.
                  Поэтому надо либо исходники компилировать в Qt, установленном на ПК, либо "прикреплять" необходимые exe-шнику библиотеки специальной командой:
                  ExpandedWrap disabled
                    windeployqt.exe полное_имя_исполняемого_файла


                  Ну и, конечно, как уже отметили - есть последняя версия Qt, работающая на Win XP.
                  Не исключаю, что скоро появится последняя 32-разрядная версия Qt (что уже произошло, например, с упомянутой виртуальной машиной VirtualBox).
                  Сообщение отредактировано: mkudritsky -
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0355 ]   [ 16 queries used ]   [ Generated: 29.03.24, 02:08 GMT ]