Задать вопрос
  • Как поменять на ассемблере значения двух массивов местами?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Написал такой код, меняет местами только первые 8 символов, а дальше не знаю как продолжить.

    Надо ответить себе на следующие вопросы:
    - что именно эта функция меняет местами
    - почему используются опкоды fild и fistp
    - в каких единицах измеряется аргумент Len
    - как должны меняться eax и esi внутри цикла
    Ответ написан
    Комментировать
  • Как просчитать "свободную" орбиту для своего спутника?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    eegmak, я намекаю на то, что для практически осуществимого любительского запуска вопрос "рассчитать, чтобы ни с кем не столкнуться" не стоит вообще. Если вопрос теоретический, то, насколько мне известно, носитель доставляет в заданную точку с заданным вектором скорости, а дальше берут модель сил действующих на спутник и тупо интегрируют уравнения движения по этой модели. Сложность модели варьируется в зависимости от нужной точности и ожидаемого соотношения величин действующих на него сил. Можно начать со сферической земли в вакууме, можно с эллиптической, можно добавить геоидность и вращение, добавить атмосферу, добавить действие луны и солнца…
    Ответ написан
  • Как запустить executable в линукс?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Судя по отсутствию каталога /lib64 в корне системы где выводится not found там не установлена поддержка ABI amd64. Нужно либо доустановить 64-биные библиотеки, либо слинковать server-linux статически.
    Ответ написан
    Комментировать
  • Что будет если запустить init через exec?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что будет если запустить init через exec?

    Вне контекста процесса с PID 1 -- всё то же самое, что будет, если просто запустить его руками из оболочки.
    Ответ написан
    Комментировать
  • Как при помощи AppArmor выдать доступ только к одной папке?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Нужно, чтобы у /server/script.sh был доступ только к папке /server, но при выполнении скрипта с этим конфигом он спокойно читает содержимое из /var/log

    Невозможно на уровне ядра ОС отличить выполнение скрипта от выполнения интерпретатора этого скрипта. Ядро выполняет /bin/sh (или что у этого /server/script.sh написано в шебанге), а не сам /server/script.sh.
    Ответ написан
    Комментировать
  • Как вернуть модуль ядра после rmmod?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вопрос первый: как обратно эти модули загрузить

    командой insmod.

    Вопрос второй: usbserial это вообще на все порты?

    usbserial может управлять устройствами произвольного типа, но по умолчанию он управляет только небольшим набором типов устройств.
    Ответ написан
    Комментировать
  • Как искать значение в сбалансированном бинарном дереве?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как искать значение в сбалансированном бинарном дереве?

    Так же, как и в несбалансированном. Сбалансированность на стратегию поиска никак не влияет. Влияет логика построения дерева.

    Чтобы создать из этого сбалансированное дерево я беру элементы с индексом floor(arr.length / 2)

    С такой логикой элементы равные данному могут попасть как в левое поддерево, так и в правое. Чтобы найти их все нужно будет сканировать оба поддерева, если корень равен искомому числу.

    Ну да я нашел первый на самом верху дерева, ну а потом? Левый узел меньше тройки а правая больше, но под правым узлом есть еще тройка. По какой логике надо искать ?

    Если текущий корень больше искомого -- идти в левое поддерево, Если меньше -- идти в правое. Если равен -- то найдено, после чего идти в оба поддерева.
    Ответ написан
    3 комментария
  • Почему waitpid() возвращает ошибку?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему waitpid возращает такую ошибку?
    waitpid: No child processes

    Потому что он вызывается как в родительском, так и в дочернем процессе. В родительском процессе он работает успешно, а у дочернего процесса waitpid вызывается с pid == 0, а такого процесса точно нет.
    Ответ написан
  • Какой бекэнд выбрать для компилятора?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Думали сделать фронтенд для gcc

    Можно прицепиться к libgccjit.

    хочется как-то этот проектик доделать и разместить на просторах интернета…
    Думали сделать фронтенд для gcc, но этот самый gcc опубликован под GPLv3, т.е. придется нам раскрыть исходный код IDE и самого языка, чего делать не хочется.

    Исходный код требуется раскрывать только обладателям бинарников. Если размещение на просторах интернета -- это онлайн IDE, то бинарника ни у кого нет, следовательно код раскрывать не нужно.

    Однако, предоставление исходников, особенно под свободной лицензией обычно выгодно самим проектам, которые это делают.
    Ответ написан
    Комментировать
  • Как добавить к тексту слово, после последнего совпадения через sed?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Необходимо добавить после ips_addr_1 слово ips_addr_2, нужно чтобы было совпадение по последнему слову

    sed 's/\(.*ips_addr_[0-9]\)/\1 ips_addr_2/'
    Ответ написан
    Комментировать
  • Как собрать приложение на языке программирования C++, используя CMake?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как мне организовать систему сборки, чтобы любой пользователь мог запустить приложения, имея .exe файл и папку data ( aka DATA_DIR )

    Для этого нужно научить приложение находить папку data. Сейчас ты, похоже, используешь полный путь из DATA_DIR. Возможно ты хочешь искать data относительно положения исполняемого файла. Это должно быть в логике приложения, я не вижу, как тебе может помочь система сборки, если пользователи не будут пересобирать приложение.
    Ответ написан
    4 комментария
  • Microprocesor Simulator 5v32 | Как прописать в коде управление змейкой через клавиатуру?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    этот кусочек я нашла с клавиатурой но к сожалению не работате:

    этот кусок рассчитан на PC и его контроллер клавиатуры. Наверняка в этом Microprocesor Simulator 5v32 какая-то другая схема подключения клавиатуры. Я не нашел никаких вменяемых ссылок на этот симулятор, чтобы посмотреть. Тебе прийдётся либо разобраться самой как подключена клавиатура, либо предоставить больше информации об этом.
    Ответ написан
    Комментировать
  • Как настроить внешнее прерывание Arduino?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Подскажите, сайтик с нормальным решением

    Вот пример идущий вместе с этой библиотекой, который делает то, что ты описал.
    Ответ написан
    Комментировать
  • Как добавить отдельную папку в новую ветку?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    при следующем добавлении git add client (когда уже на другую ветку переключился) ничего не происходит

    Так если ты добавил каталог со всем содержимым в одну ветку, а потом переключился на другую ветку, в которой их не было, они будут удалены из рабочей копии. Простой вариант обойти это -- скопировать каталог перед переключением веток, переключить, скопировать обратно.
    Ответ написан
    Комментировать
  • Avr-gcc почему не работает обращение к полям структуры по индексу в цикле?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    если просто вручную написать обращение по индексу, то всё работает корректно
    Почему такое может быть

    Если посмотреть в сгенерированный код (я компилировал командой
    avr-gcc -mmcu=atmega2560 -DF_CPU=8000000 -fverbose-asm -S test.c
    ), то можно увидеть, что он не обращается к массиву power_5v, а все константы просто подставлены как непосредственные значения в инструкции. Я думаю, что по этой причине.

    как это исправить

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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Я вижу проблему в определении класса module::module. Ты хранишь экземпляры этого класса в векторе, но у него нет конструкторов копирования и операторов присваивания. А это значит, что созданный здесь временный объект module::module будет там же и разрушен с вызовом FreeLibrary и потерей актуальности всех статических указателей в модуле который был загружен. Среди которых будут указатели на таблицы виртуальных функций для классов определённых в этом модуле.
    Ответ написан
    4 комментария
  • Является ли большое использование Slab память на сервере виртуализации утечкой?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    использует много slab-памяти (90Гб), согласно выводу atop, является ли это утечкой памяти

    Не обязательно. SLAB -- это механизм динамического выделения памяти внутри ядра для объектов одинкаового размера. Можно посмотреть на распределение памяти по типам SLAB-кешей командой slabtop, чтобы примерно понять, кем эта память используется. Жизненный цикл SLAB-кешей выделенных драйвером зависит от логики этого драйвера и может быть дольше, чем, например, жизненный цикл виртуальных машин. На утечку может указывать например то, что SLABы остаются после выгрузки драйвера который их создал.
    Ответ написан
    Комментировать
  • Работа с рисованием в Qt. Почему не получается рисовать после оператора if?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Не нужно делать setChecked(false) в обработчике paintEvent, потому что paintEvent случается довольно таки асинхронно по отношению к событиям генерируемым UI.
    Ответ написан
    1 комментарий
  • Что не так вроде программа написана верно но при запуске просто экран программы без рисунка?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    ; инициализация библиотеки Turbo Graphics
        MOV AH, 00h
        INT 10h

    Написано "инициализация библиотеки", а выглядит как просто вызов функции прерывания int 10h BIOS set video mode. Если это и правда инициализация библиотеки, то она (библиотека) должна уже быть загружена на этот момент. Дальше ты вызываешь другие нестандартные функции этого же прерывания, в отсутствие библиотеки они делают совсем не то, что написано в комментариях.

    ; завершение работы с графикой
        MOV AH, 00h
        INT 10h

    Даже если предыдущий код что-то нарисовал, в этом месте режим экрана переключается с графического на текстовый и всё исчезает?
    Ответ написан
    2 комментария
  • Почему при подключении по ssh с ключем требует пароль?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    от чего это тогда зависит?

    Зависит от того, куда ты положил файл authorized_keys с открытым ключом. Если ты положил его в ~root/.ssh -- можешь заходить от имени root, если в ~user/.ssh -- можешь заходить от имени user.
    Ответ написан
    2 комментария