• Ассемблер, почему дизассемблированном коде много ненужных операций?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему не переписать вместо этого
    add ebx,dword ptr [rbp+ECX*4+10h]

    Буквально так написать нельзя, потому что нет такого режима адресации в котором можно было бы использовать вместе Rbp (64-битный) и Ecx (32-битный). Можно было бы написать add ebx,dword ptr [rbp+rcx*4+10h], но для этого счётчик цикла должен был бы быть 64-битным, а он, как мы видим, 32-битный (int i). Т.е. ответ на вопрос "для чего это": для беззнакового расширения 32-битного счётчика цикла в регистр, который можно использовать для доступа к памяти.

    Другое дело, что из исходного кода очевидно, что при обращениях к памяти i не выходит из диапазона 0..9, так что разницы между ecx и rcx нет и не может быть. Возможно я что-то упускаю и у компилятора другое мнение на этот счёт, но может быть он просто туповат и не имеет кода который бы мог использовать эту возможность оптимизации, а может такая оптимизация и есть, но она не была включена во время генерации этого кода.
    Ответ написан
    Комментировать
  • Из-за чего могут появляться белые прямоугольники в шахматном порядке на мониторе?

    ZERGeich
    @ZERGeich
    1. Проверить видеопамять чем-то типа MATS
    2. Проверить оперативку чем-то типа memtest86
    3. Комплектующие из магазина - не показатель их работоспособности.
    4. Погонять стресс-тесты на память и видео со съёмом показателей вольтажа и температуры
    5. Попробовать откатить дрова на более старые, но обязательно от производителя
    Ответ написан
    1 комментарий
  • Из-за чего могут появляться белые прямоугольники в шахматном порядке на мониторе?

    Alex_Geer
    @Alex_Geer
    System Engineer
    89% что какой то чип памяти сбоит, мб термопрокладки потекли и залили память.
    Ответ написан
    Комментировать
  • Firewall для Android?

    @Redeve
    Веб-макаке не хватит и 640гБ
    AFWall - с рутом
    NetGuard - без рута
    AdGuard
    Третий понятно по названию предназначен для борьбы с рекламой, но можно вручную поотключать фильтры и оставить работать как фаерволл. Умеет работать с рут и без
    У всех есть логи, выборочный запрет приложениям выходить в сеть и уведомления о попытках достучаться до ББ
    Ответ написан
    3 комментария
  • Что означают эти сигналы bios?

    nava2002
    @nava2002
    Инженер
    Вот матириал
    учитывая что отказ не устойчивый, то очень похоже на плохой контакт в разьеме. А начать рекомендую с проверки батарейки.
    Ответ написан
    Комментировать
  • Как сортировать ячейки?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    У вас в ячейке текст. Значит сортировка идёт по правилу текста, а не цифр. Чтобы отсортировать так, как вы хотите - нужно отделить цифру от текста, например на ячейку ниже, и сортировать по ячейкам с цифрами.
    Ответ написан
    Комментировать
  • Из-за чего установка windows с флешки крайне медленная?

    Adler_lug
    @Adler_lug
    Почти уверен, что это из-за полумертвого SSD. После его отключения скорее всего тормоза пройдут.
    Ответ написан
    Комментировать
  • Как переключить вывод звука на колонки при подключенных проводных наушниках?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    наушники подключены в передний разъём 3.5 на корпусе

    Этот разъём специально сделан так:
    Отключаю наушники и звук на колонках появляться


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

    Да (забыл): естественно, если подключите колонки по оптике, то у вас будет ещё одно устройство вывода без дополнительной платы.
    Ответ написан
    Комментировать
  • Какой open source проект написан на труъ Си++?

    @Drno
    Если коллегам ненравится что то - пусть объяснят и покажут что.
    В иных случая - неипёт
    Ответ написан
    Комментировать
  • Почему ПК намертво зависает?

    @Mikeoldfield
    Сетевой инженер / системный администратор
    Проверь диск для начала. CristalDiskInfo хотя бы
    Ответ написан
    1 комментарий
  • Рекурсия.По какой причине ответ всегда 0?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Учитесь писать красиво. Вместо нагромождения вложенных if/else используйте ранний выход из функции.
    float power(float X, int N) {
        if (N == 0) {
            return 1;
        }
        if (N < 0) {
            return 1. / power(X, -N);
        }
        if (N % 2 == 0) {
            float b = power(X, N / 2);
            return b * b;
        }
        return X * power(X, N - 1);
    }
    Ответ написан
    Комментировать
  • Как найти геометрическую прогрессию в списке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Берём первые два числа списка. Они образуют геометрическую прогрессию с x0 = a[0] и k = a[1]/a[0].
    Прогрессия найдена.
    Ответ написан
    Комментировать
  • Можно ли командой удалить все метаданные у файлов?

    да можно
    Вт так
    sudo apt-get install libimage-exiftool-perl
    find . -type f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)"  -exec grep -rl base64 {} \; -exec exiftool -all= {} \; -exec rm '{}_original' \;

    соответствено вместо find . можно поставить путь до сайта find /var/www/site.ru ну или запустить команду внутри папки.
    и на сладкое
    Оптимизация картинок
    Ответ написан
    2 комментария
  • Как увеличить угол излучения ИК-светодиода?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    1. Какой-то особо специальный светодиод искать не надо. Посто выпаяйте диод из любого пульта от любого (даже не очень современного) ТВ или видака, они все примерно одинаковые в том смысле, какой для вас интересен.
    2. Уровень выходного ИК-сигнала любого пульта нетрудно проконтролировать чисто зрительно, с помощью любого современного мобильника, имеющего на спинке глазок фотокамеры, поскольку эти фотокамеры, как правило, хорошо видят ИК. Направьте на глазок камеры ваш пульт, нажмите на нём любую кнопку и наблюдайте на экране мобилы яркие (ну или не очень яркие) вспышки ИК-импульсов.
    jJ7AMdNWqQ9NIDISxOkphxx3VqhfnmZu-O9M2qafx89YbdxM5ZTlz-8bO1etBninTQWhMcXI0IT1hojDElslAsWTgSTjOtAzZSQyHvDNRaMAW3aUf442cvGOELa3_tP-FBmZPMVhQBdnhpKqLOe9Zq146FS0ifzksd8gNyfOWKOE5oxJf758gyXU5_I0yXlP4I5GmB8XEmsU49WGO3razhg1hIlV2Wiro84iEiwP5VaBlGDM5LnVhHFL6N63RlQHlAJMScMmNN81PNOyuOVB27gySqRjp17jWHOFCg9iNi7YUUz5WZUYB7deqr4wo0mqSVDgrJQttZAp77hqN6bgR7AKSG3f2vzv3RQ3goSlsZ88DjLAh8cGa7yDfSZ7UiKakLlQYRE9AMujrsZ2LKc1zgEEiLBowZmIoZ9U1psqQLcs9pwlSzJ8g1HkI7r0pRVHXIZWeJsb1vOMW5n2E_rW0ljV9JGJhSgbu4LKXkx7Kco9yKxcPA2tnCnT5Irj1tD7aMr0uf-KUANlYC8asN0Ft7x-Khxrw46PuJ-1-pNqUs608fz9BRmYjy8uCgJQK33-xcw00JR9XdQtAxSao4qgQ4ziyLEPUlgjVQCfQoBpWbMwjsakGwuCh-Dn5R57zvZG6BH8eTkxJJe7KkKSbGtx8imExAgMkfnQUY98ig82sHfgEgA5d1psC-GIG86U1Qmb4J7eJH8nRoOgX5FuE6q-0lyxlJHZgbhDNxpSHswX4cq9_AgwgDWhiCEvlIazrjzHNPbg0ZMOOL9xEOuOyOml_yDSiozvB0LvABO5-qfq2oq4nQx9kRXwL6e68lrUkxVqDbgsyHyZ3Zy16zjGz5IUyxwiUOkXwqA7RSC3ohxRlVMgfvqM6_O6q4Cr0YJjVka-HBH8iZld8I8vHs6O2Ne9Bkl4dNSsvbVMTbfY4kNqRMcsbgRdG15ge2UApwYY-ZlLyP76CFdDkucUn_VmF16E
    Таким способом можно не только определить работоспособность, но и прикинуть как силу сигнала, так и ширину диаграммы направленности пульта. Можно также зрительно сравнить силу выходного сигнала вашего старого пульта с сигналом от современных пультов.
    3. Ваша проблема в том виде, как вы её описали, может заключаться вовсе не в ширине диаграммы направленности пульта, а в ширине диаграммы направленности приёмника ИК-сигнала на вашем девайсе, и это тоже обязательно надо проверить. Направьте пульт точно на глазок приёмника точно по его оси, нажмите кнопку на пульте и убедитесь, что команда передалась. Затем повторяйте это, отклоняя пульт от оси глазка приёмника, но по-прежнему держа его направленным точно на этот глазок (т.е. несколько сбоку, и всё больше сбоку). Зафиксируйте, какой угол отклонения пульта от оси глазка приёмника приведёт к прекращению передачи команд - это и будет искомый угол ДН приёмника. Вполне возможно, что слишком узок именно он, а не ДН пульта.
    4. Обязательно проверьте, нет ли у приёмника банального запыления глазка - при многолетнем нахождении в квартире это весьма вероятно.
    Ответ написан
    3 комментария
  • Почему диск загружен на 100% процессом system в Windows 10?

    @m0hn
    На всякий случай проверьте смарт HDD.
    Ответ написан
    Комментировать
  • Функция замен символов VBA?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Если не морочться с регулярками (а по идее, надо бы), то достаточно поменять строку
    Worksheets("Sheet1").Range("A" & i) = Replace(xcell, " ", x)

    на что=-то вроде
    xcell = Replace(xcell, ".", x)
    xcell = Replace(xcell, ",", x)
    xcell = Replace(xcell, "(", x)
    xcell = Replace(xcell, ")", x)
    xcell = Replace(xcell, " ", x)
    Worksheets("Sheet1").Range("A" & i) = xcell


    Но вообще, как и говорил, лучше подключить регулярки (это минутное дело) и использовать их
    Вот, например, статья на русском
    Ответ написан
    Комментировать
  • Как установить Windows 7/10 на старый компьютер с Windows XP?

    @Drno
    вставить дисковод
    установить с диска

    правильный вариант - не занимайтесь фигней, все равно будет всё тормозить

    А зачем надо вин7 то?)
    Ответ написан
    2 комментария
  • Как правильно вывести массив символов?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    проблема в том, что вместо массива символов программа выводит просто пустую строку.

    программа выводит пустую строку, потому что в tmp -- пустая строка. Потому что i = strlen(str) помещает в i индекс 0-терминатора строки str, а не последнего символа перед ним. И в конце строки tmp сейчас нет 0-терминатора, так что puts(tmp) выведет мусор после перевёрнутой строки, если поправить инициализацию i.
    Ответ написан
    3 комментария
  • Как по клику по строчке показывать определенные данные?

    Tolly
    @Tolly Автор вопроса
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Intersect(Range("D5:E9"), Target) Is Nothing Then Exit Sub
        Range("B1").FormulaLocal = "=ВПР(B" & ActiveCell.Row & ";клиенты!A:C;2;0)"
        Range("C1").FormulaLocal = "=ВПР(B" & ActiveCell.Row & ";клиенты!A:C;3;0)"
        Range("B2").FormulaLocal = "=ВПР(C" & ActiveCell.Row & ";менеджеры!A:C;2;0)"
        Range("C2").FormulaLocal = "=ВПР(C" & ActiveCell.Row & ";менеджеры!A:C;3;0)"
    End Sub
    Ответ написан
    Комментировать