Задать вопрос
  • Есть ли смысл в handles вместо сырых указателей для аллокации памяти в embedded устройствах?

    jcmvbkbc
    @jcmvbkbc
    Т.к. в моей esp32s3 всего 8мб озу и нет виртуальной памяти

    Вообще в нём есть MMU с 64-килобайтными страницами который может отображать до гигабайта флэша или PSRAM в 32-МБ окошки 0x3c000000..0x3e000000 и 0x42000000..0x44000000.
    Вот мои заметки о формате и расположении записей этого MMU: wiki.osll.ru/doku.php/etc:users:jcmvbkbc:linux-xte...
    Написано
  • Как передать ссылку на двумерный массив в функцию?

    jcmvbkbc
    @jcmvbkbc
    И первоначально там было просто "&matrix", без [0][0], уже экспериментировал

    BiProg, это было правильно и работало бы с тремя звёздочками, если бы в функциях обращение к элементам массива было написано с учётом приоритетов операций * и [], т.е. не *matrix[i][j] а (*matrix)[i][j].
    Написано
  • Как передать ссылку на двумерный массив в функцию?

    jcmvbkbc
    @jcmvbkbc
    Вот как раз бы понять что на что указывает

    BiProg, для этого надо внимательно прочитать и понять вот этот фрагмент кода:
    int *ptr = (int*) (matrix + XMAX);
        for (int i = 0; i < XMAX; i++) {
            matrix[i] = ptr + YMAX * i;
        }

    Первые XMAX элементов массива matrix -- это указатели на строки массива, это пространство зарезервировано при вычислении указателя ptr, который указывает на данные первой строки.
    Написано
  • Почему библиотека SFML3.0.0 не может открыть файл png?

    jcmvbkbc
    @jcmvbkbc
    стоит попробовать положить этот файл по пути 1) без русских символов и 2) без пробелов
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    jcmvbkbc
    @jcmvbkbc
    Именно об этом я и написал, что вам нужен не только код, но и рутоничат, а ещё стрим, из которого рутоничат будет получать данные.

    Мне ничего из этого не нужно. Для воспроизведения мне нужен адрес к которому можно подключиться. Вы могли бы его высунуть наружу каким-нибудь туннелем или реверс-прокси.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    jcmvbkbc
    @jcmvbkbc
    ну вот приведённый код воспроизводит проблему

    Слово "воспроизводит" означает, что я могу запустить этот код и пронаблюдать проблему сам. На моей стороне нет никакого сервера по адресу 127.0.0.1:8383. Каким образом мне запустить этот код?
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    jcmvbkbc
    @jcmvbkbc
    Поэтому и поставил "сложный"....

    Эта классификация на мой взгляд не имеет смысла, по крайней мере для вопросов без ответа, потому что она супер субъективная.

    надо знать проблему, а не искать ошибку в коде

    Я не собираюсь искать ошибку в коде. Не собирался. Когда есть код воспроизводящий проблему можно просто решать эту проблему.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    jcmvbkbc
    @jcmvbkbc
    Вам не нужно всё моё приложение

    maaGames, это верно, я и не просил всё ваше приложение.

    Вы либо сталкивались с такой прблемой и знаете ответ, Либо не сталкивались и не знаете ответ.

    Я сталкивался со множеством подобных проблем и знаю ответ, это может быть одна из них, но я не знаю, которая из них у вас. Это может быть и новая проблема, с которой я не сталкивался. Я готов посмотреть на вашу конкретную проблему и найти для неё ответ.

    Вот код, воспроизводящий проблему.

    Чтобы быть полезным, код воспроизводящий проблему должен как минимум компилироваться. В идеальном случае он должен воспроизводить проблему.

    Понятнее стало? Нет, не стало.

    Я напомню, что это вы прищли сюда с вопросом и в ваших интересах сделать так, чтобы стало понятнее.
    Написано
  • Почему QWebSocket не получает длинные сообщения?

    jcmvbkbc
    @jcmvbkbc
    Хелп

    Нужен код воспроизводящий проблему.
    Написано
  • Отдельный контекстный стек процессора. Как думате, стоит ли?

    jcmvbkbc
    @jcmvbkbc
    15432, ну да, и тем более сомнительно выглядит попытка это место оптимизировать перекладывая работу обработчика исключений overflow и underflow полностью на железо.
    Написано
  • Отдельный контекстный стек процессора. Как думате, стоит ли?

    jcmvbkbc
    @jcmvbkbc
    Если реализовать классическую ISA ARM или популярную на cегодня ISA Risc-V, то переделать придетcя в основном компиляторы, планировщики задач и обработчики прерываний. Т.е. компилятор и низкоуровневое ПО.

    Я говорю о том, что для поддержки какой-то мелкой фичи железа объём того, что надо будет поменять в низком уровне может варьироваться от "поменять один define" до "придумать и реалиовать новый механизм", и без хорошего понимания софтовой части оценить этот объём сложно.

    За 15 лет прогаммирования с применением setjmp/longjmp сталкивался только один раз.

    Это слабое утешение, потому что когда setjmp() или другая редкая штука с неочевидной для вашего случая реализацией таки понадобится, обойтись без неё будет очень сложно.
    Написано
  • Отдельный контекстный стек процессора. Как думате, стоит ли?

    jcmvbkbc
    @jcmvbkbc
    В xtensa регистры программно сбрасываются в общий стек при переполнении и программно загружаются обратно.
    То, что аппаратное сохранение и загрузка регистров, задуманные в микроархитектуре NX, так до сих пор и не реализованы, кое-что говорит нам о соотношении сложности реализации к ожидаемому приросту производительности.
    Написано
  • Как операционная система выделяет память для процессов?

    jcmvbkbc
    @jcmvbkbc
    Можно пойти и почитать код реального malloc в glibc

    shurshur, ...и увидеть там вызов mmap() для запросов больше страницы.
    Написано
  • После обновления до QEMU 10.0, XNU выдаёт панику ядра (type=0 division error)?

    jcmvbkbc
    @jcmvbkbc
    Пока не нашёл никаких других обходных путей.

    Елисей Константинов, можно бисектить QEMU -- искать коммит между v9.2.3 и v10.0,0 который всё сломал. Для этого надо склонировать репозиторий QEMU, запустить git bisect, а дальше собирать предлагаемую версию и проверять -- работает ядро или ломается, пока не найдёшь нужный коммит. Шагов 12 для этого потребуется. Вот эту информацию можно добавить в баг-репорт.
    Написано
  • Как операционная система выделяет память для процессов?

    jcmvbkbc
    @jcmvbkbc
    в чем смысл искать регион последовательных виртуальных адресов, если их не существует

    А если немного подумать дельше, то можно заметить, что виртуальные адреса -- почти такой же точно ресурс, как и физическая память, и к их выделению и освобождению можно применить в точности ту же логику.
    Написано
  • После обновления до QEMU 10.0, XNU выдаёт панику ядра (type=0 division error)?

    jcmvbkbc
    @jcmvbkbc
    Имеет смысл постараться найти минимальный пример воспроизводящий проьлему. Такой, в котором не было бы каких-то непонятных шагов вида "пойди туда, установи то". Зашарить образ диска который при запуске вызывает ошибку, или образ ядра, если можно воспроизвести с одним только ядром.
    Написано
  • Как загрузить код в attiny13?

    jcmvbkbc
    @jcmvbkbc
    попробую записать через arduino ide

    Там есть Makefile, а в нём цель writeflash, которая судя по коду должна собрать бинарник для atiny и прошить его.
    Написано
  • Почему происходит разряд идеального конденсатора, если поле вне его равно нулю?

    jcmvbkbc
    @jcmvbkbc
    Mac-Laren, прости, я проинтерпретировал "идеальный" в условии не как "бесконечный", а на картинке пластины вполне конечного размера. В своём комментарии я имел в виду, что с пластинами конечного размера нет разницы между "внутри" и "снаружи", электрическое поле будет везде. А о том, что бесконечные пластины нельзя соединить "снаружи" уже написали.
    Написано
  • Почему происходит разряд идеального конденсатора, если поле вне его равно нулю?

    jcmvbkbc
    @jcmvbkbc
    мой внутренний вопрос возникает, когда ты выделил произвольную область на рисунке, закрасил её другим цветом и объявил её "межобкладочным пространством": а всё остальное пространство таковым не является? А если конденсатор -- воздушный, т.е. в качестве диэлектрика использован воздух? А если он в вакууме?

    А также когда ты пишешь
    В приближении идеального конденсатора поле за его пределами (межобкладочного пространства) всегда равно нулю E=0

    От этого утверждения легко прийти к противоречию: поскольку электрическое поле -- потенциальное, то работа по перемещению заряда в этом поле из одной точки в другую не зависит от пути по которому происходит это перемещение. Для поля не равного нулю внутри закрашенной зоны и раного нулю вне её это очевидно не так.
    Написано
  • Как скомпилировать программу с библиотекой gtk?

    jcmvbkbc
    @jcmvbkbc
    первый скрин -- это весь вывод? Он же пустой?
    второй скрин -- gtk4 в этом списке есть?
    Написано