Задать вопрос
  • Есть ли способ динамической загрузки библиотеки?

    maaGames
    @maaGames
    Евгений Иванович, Ну так используй кросплатформенный код работы с файловой системой. Скачать бибилотеку на диск - не проблема. Загрузить динамически библиотеку с диска - не проблема. Получить адрес функции в загруженнйо библиотеке - не проблема.
    Учитыая, что для работы с сетью всегда приходится использовать либо API конкретной системы, либо используя кросплатформенную обёртку (типа буста), то не понимаю, откуда взялась проблема работы с диском.
  • Эффективный алгоритм для двустороннего поиска?

    maaGames
    @maaGames
    laniminel, B-tree только на скорость поиска влияют, не на использование памяти (если не ошибаюсь, конечно). Раз в первую очередь акцент на эффективность, то нужно сбалансированное дерево строить, чтобы время поиска было log(N). В сортированном массиве тоже сложность поиска log(N) и 500 мегабайт это небольшой размер для современных компьютеров. Так что я бы протестировал и вариант с массивами. Там и служебной информации гораздо меньше. Получается, сейчас ~200 байт на узел дерева, а ведь в нём хранятся как минимум два указателя на дочерние узлы, может ещё указатель на родительский узел. Т.е. 3*8=24 байта служебный. Это 10% от занятой памяти. Так что с массивами вместо 450 будет 400. Хотя, между 400 и 450 никакой разницы в 2019 году.
  • Эффективный алгоритм для двустороннего поиска?

    maaGames
    @maaGames
    res2001, Вообще, пока не назван используемый язык, я что-то передумал говорить о производительности :) Мало ли, как там контейнеры в испльзуемом языке реализованы.
    По идее, индексированный доступ (вернее, прямой доступ по указателю) будет всегда быстрее косвенного доступа из дерева. Опять же, в зависимости от реализации, хранятся ли данные прям в узле дерева или в узле указатель на данные...
    В любом случае, я бы предпочёл два бинарных дерева.
  • Нужно ли учить графическую часть в winapi?

    maaGames
    @maaGames
    Ну ка, запили "Hello World!" на UWP для Windows 7 :)
  • Можно ли как-то ускорить публикацию в Play Market?

    maaGames
    @maaGames
    4DKZ, Сложна. Такое лучше спросить у тех.поддержки ГуглПлея.
  • Можно ли Встроить QT dialog в MFC CDialog?

    maaGames
    @maaGames Автор вопроса
    Adamos, Короче, короткий ответ: Нет, простым способом так встроить QT нельзя. :)
  • Можно ли Встроить QT dialog в MFC CDialog?

    maaGames
    @maaGames Автор вопроса
    Adamos, С тем же успехом я могу написать свою Виндоус, потому что мне не нравится MFC...
    Если я правильно догадываюсь, мне нужно будет из CDialog обрабатывать только функции изменения размера, перемещения, видимости и удаления. Если говорить очень грубо, то приложение не будет обращаться к диалогу, но из диалога будут меняться данные в документе.
  • Можно ли Встроить QT dialog в MFC CDialog?

    maaGames
    @maaGames Автор вопроса
    Adamos, Я могу делать что угодно (в пределах разумного) при загрузке плагина. Т.е. я могу инициализирвоать хоть QT, хоть что-то ещё, если требуется. При загрузке плагина вызывается функция инициализации, в которой я могу сделать всё, что мне требуется для инициализации плагина. В том числе создать свой диалог и добавить его в имеющуюся палитру. И этих диалогов будет несколько десятков и в любое время их может быть от нуля штук создано во вкладках этой палитры..
  • Можно ли Встроить QT dialog в MFC CDialog?

    maaGames
    @maaGames Автор вопроса
    Adamos, Я похож на человека, который задаёт вопрос, зная на него ответ?

    Вот я могу любое HWND окно встроить в любое HWND окно. Я сликом плохо знаю QT, чтобы знать, могу ли я QT-окно встроить в любое HWND окно? Т.е. создать CWnd, в котором будет указатель на QT окно положением которого упарвляет этот CWnd. Не знаю, возможно ли такое с испоьлзованием QT.
  • Можно ли Встроить QT dialog в MFC CDialog?

    maaGames
    @maaGames Автор вопроса
    Adamos, Мне не нужен просто диалог, мне нужен диалог, встроенный в интерфейс. В интерфйсе есть палитры с табами, где каждый таб это специальный класс-палитра, который унаследован от CDialog. У палитр docking, автосворачивание с экрана и прочие удобства. Но всё это делается автоматически основной программой, в плагине реализуется логика простого немодального CDialog, который вставляется в эту палитру в виде вкладки.
  • Портятся файлы на SSD?

    maaGames
    @maaGames
    Перед вышеперечисленным нужно вытащить SATA кабель, подуть диску в щелочку и обратно кабель вставить. То же самое на материнке. У меня такое было из-за плохо вставленного SATA.
  • Как сделать idea-подобный поиск?

    maaGames
    @maaGames
    pqgg7nwkd4, На ум приходит разбивка вводимого слова по словарю, собранному и слов в имеющемся идентификаторе. Но тут и конфликты могут быть и пользователи любят писать с ошибками. Сразу какого-то действительно работающего решения в голову не приходит...
    С другой строны, теперь кажется, что 120 мегабайт не так уж и много, браузеры гигабайты хавают только рекламным ибаннерами.)
  • Как сделать idea-подобный поиск?

    maaGames
    @maaGames
    pqgg7nwkd4, Не правильно поняли. Уточняю.
    Пользователь вводит "номерКо". Программа находит все идентификаторы для "ном+ко: "номерКомнаты", "номенклатураКолошей" и т.д. Потом уже по этому списку ищет не по трём первым символам КАЖДОГО слова, а по всем символам. Либо по словам, либо по вхождению введённой части в полный идентификатор.
  • Как сделать idea-подобный поиск?

    maaGames
    @maaGames
    pqgg7nwkd4, В качестве оптимизации можно брать не более трёх первых символов в слове. Уже при наборе по всем потенциально подходящим идентификаторам (их уже будут сотни, а то и всего десятки вариантов) проверять по всем символам.
    Ну и понятно, что занимаемая память и скорость поиска будут зависить от способа хранения данных, т.е. от служебных расходов на хранения каждой пары и от того, будет ли идентификатор храниться непосредственно для каждой пары или будет отдельная таблица идентификаторов и для аббревиатур будет указываться индекс идентификатора... Много чего по мелочи можно приделать всякого.
  • Как сделать idea-подобный поиск?

    maaGames
    @maaGames
    pqgg7nwkd4, Это не совсем перебор, но, в принципе, да. Вариантов будет много "для человека", "для компьютера" вариантов будет не много, буквальнов 20-50 раз больше, чем в программе есть идентификаторов, т.е. не намного больше.
  • В чём кроссплатформенность JAVA?

    maaGames
    @maaGames
    SaddledSharp, А ты напили программу, показывающую диалог выбора файла на диске. Не ручками путь до файла писать, а именно GUI. Всё, это ответ на твой вопрос. Java абстрагируется от ОС и железа, а на С+ придётся использовать кросс-платформенные библиотеки, которые абстрагируют тебя от ОС и железа и там уже не отделаешься 500 строками кода.
  • Готовое решение для игровой валюты?

    maaGames
    @maaGames
    Ivan Yakushenko, Если планируется покупка внутриигровой валюты за реальный налик, то всё становится немного сложнее... но если только то, что автор написал, то и правда всё глупее и глупее.)
  • Не находит Windows 10 May 2019 Update?

    maaGames
    @maaGames
    wulfdog, Многие разработчики ориентируются на последнии версии ОС и драйверов, поэтому самые новые версии ПО могут работать лучше с самыми новыми версиями ОС и драйверов. Это в теории. На практике - х/з.
  • Не находит Windows 10 May 2019 Update?

    maaGames
    @maaGames
    Эллиот Алдерсон, Я запускал вручную и не находило. Разбираться в причинах этого было лень и незачем, поэтому запустил Media Creation Tools и обновился (без создания загрузочного диска).
  • Как настроить проект, чтобы программа работала на Win Xp-7 без установки?

    maaGames
    @maaGames
    Ошибался :)
    На вкладке General выбрать MFC Static', если это MFC приложение.
    На вкладке Code Generation выбрать Multi threaded (MT).
    При этом абсолютно все используемые библиотеки должы быть собраны аналогично и не требовать vcredist. Так же некоторые библиотеки может потребоваться вручную исключать из сборки.
    При использовании OMP одну дополнительную библиотеку всегда придётся таскать в виде dll.

    Так чт опроще сделать в виде shared библиотек, накидать их всех в папку с приложением, а потом упаковать это всё в один экзешник какой-нибудь программой типа Enigma Virtual box.