Задать вопрос
  • Как был создан ассемблер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть догадки, что была какая-то интегральная схема которая считывала данные из памяти, в виде последовательности ASCII кодов,

    Нет. Ты или что-то недочитал или сильно много перечитал.

    Самые первые ЭВМ были стендами с переключателями и лампочками. И чтобы их программировать надо было знать систему команд. То бишь соответсвие положения переключателя со смыслом который она делает. Например 0101 (переключалели вверх-вниз дважды) к примеру несет смысл сложить числа в ячейках 1 и 2 и сохранить результат в ячейке 1. И чтоб не парится сильно - ввели обозначение ADD &1, &x2. Разумеется синтаксис я придумал просто для пример.
    Ответ написан
    3 комментария
  • Можно ли загрузить в юнити готовый скомпилированный проект?

    GavriKos
    @GavriKos Куратор тега Unity
    Нет, нельзя.
    Откройте для себя git, чтобы таких проблем небыло
    Ответ написан
    Комментировать
  • Ошибка cs0246 как решить?

    Вроде уже сегодня на этот вопрос отвечал.
    Суть ошибки написана в её описании.
    Учитывай, что C# учитывает регистр и для него vector и Vector - две большие разницы.
    А также C# не будет за тебя исправлять опечатки.
    Например он не будет заменять start на Start и FixUpdate на FixedUpdate

    Если ты не можешь самостоятельно набрать название типа без опечаток - используй автокомплит, который встроен в любую IDE или копируй полное имя типа из документации.

    Мультиаккаунт никак не ускорит получение ответа на вопрос, если его удаляют.
    Если хочешь хотябы минимальный шанс на помощь - прикладывай полный текст ошибки, и нормально отформатированный код (кнопка слева от плюса).
    А также говори, как ты пытался ошибку исправить и что тебе в её описании не понятно.
    Ответ написан
    Комментировать
  • В каком режиме работает DNS сервер 8.8.8.8?

    martin74ua
    @martin74ua
    Linux administrator
    Это обычный рекурсивный dns сервер. Вопрос с его нагрузкой решается использованием anycast кластера.
    Ответ написан
    1 комментарий
  • Почему вычитается 32?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    почему вычитается 32?

    Потому что компилятор использовал стековый кадр для хранения локальных переменных:

    pushq   %rbp
    movq    %rsp, %rbp
    subq    $32, %rsp
    movsd   %xmm0, -24(%rbp)
    movsd   %xmm1, -32(%rbp)

    -- сохранил два аргумента по смещениям -32 и -24

    movsd   -32(%rbp), %xmm0
    subsd   -24(%rbp), %xmm0
    movsd   %xmm0, -8(%rbp)

    -- сохранил их разность по смещению -8

    movsd   .LC0(%rip), %xmm0
    divsd   -8(%rbp), %xmm0
    movsd   %xmm0, -16(%rbp)

    -- сохранил частное от деления MAX_RAND на разность по смещению -16

    4 слота по 8 байт -- 32-байтный стековый кадр.
    Ответ написан
    3 комментария
  • Почему линкер дает такую ошибку?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    relocation R_X86_64_32S against `.text' can not be used when making a shared object
    что делать?

    Переписать код так, чтобы избавиться от этой релокации.
    Для этого посмотреть где она: objdump -dr lib.o

    27:   0f 01 1c 25 00 00 00    lidt   0x0
    2e:   00 
                            2b: R_X86_64_32S        .text


    и переписать загрузку idt без использования константного адреса, например так (используя адресацию относительно pc):
    lea rax, [rel idtDescriptor]
    lidt [rax]


    Однако, я подозреваю, что этого будет недостаточно, потому что
    dq _idt
    -- это ещё одна релокация в текстовом сегменте. Я не вижу как от неё можно избавиться кроме перемещения этой переменной в сегмент .data или .bss и инициализации этой переменной в процессе выполнения программы.
    Ответ написан
    3 комментария
  • Как с MathNet.Numerics уменьшить число коэффициентов у преобразования Фурье?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Быстрое преобразование Фурье - это алгоритм вычисления дискретного преобразования фурье. От интеграллов на картинках оно отличается тем, что там не функция от которой береться интеграл, а массив данных, которые как-то суммируются. Оно называется быстрым, потому что там идет вычисление не в лоб по формуле из википедии, а чуть хитрее, за счет чего оно работает быстрее.

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

    И да, там результат - это массив комплексных чисел, поэтому выходные данные в 2 раза больше входных, которые являются вещественными.
    Ответ написан
    3 комментария
  • Почему возникает проблема "terminate called after throwing an instance of 'char const*'"?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Сообщение говорит, что было брошено исключение, которое никто не поймал и поэтому программа завершилась.

    Обрабатывайте исключения (конструкция try..catch) где-нибудь в main, тогда можно будет вывести сообщение с ним связанное. Может станет понятнее, откуда оно было брошено. Или можно просто пискать в коде "throw" - скорее всего оно и срабатывает.
    Ответ написан
    Комментировать
  • Какой уровень знаний в C# нужен для разработки игры на Unity?

    C# нужен именно для такого проекта, карьеру разработчика особо начинать не хочу.

    Ну тебе нужно уверенно знать C# на уровне хотябы Junior+.
    Ты должен:
    1. Знать синтаксис.
    2. Понимать ООП (наследование, полиморфизм. Как работают public/private-модификаторы. Как работает static)
    3. Понимать паттерны проектирования. Какие бывают и какие проблемы решают.
    4. Уметь читать сообщения об ошибках и находить решение им.
    5. Уметь использовать debugger для отладки программы и поиска источника ошибки.

    Примерно с таким багажом ты сможешь начать писать свою игру и не задавать вопросы уровня:
    https://qna.habr.com/q/1175066
    https://qna.habr.com/q/1172476
    https://qna.habr.com/q/1170852
    https://qna.habr.com/q/1170848
    https://qna.habr.com/q/1168196
    https://qna.habr.com/q/1167392
    Ответ написан
    Комментировать
  • Когда задействована батарейка BIOS?

    @Drno
    нет
    но с учетом что там обычная батарейка, она всё равно деградирует постепенно
    Ответ написан
    3 комментария
  • Когда задействована батарейка BIOS?

    @Zerg89
    Чаще всего когда компьютер полностью обесточен, остальное время биос питается от дежурного питания
    Ответ написан
    Комментировать
  • Стоит ли учить assembler для реверсинга?

    Мне кажется, прям "учить" не нужно. Главное уметь читать листинги и понимать что происходить.
    В общем случае сопоставить ассемблер с сишкой не получится.
    Ответ написан
    1 комментарий
  • Как вытянуть строчку с пробелом и первым символом?

    GavriKos
    @GavriKos
    Ну откройте мануал по функции split, и по индексированию в строках (обращению к первому символу). Можно еще конкатенацию строк читануть.

    Код настолько простой что писать его за вас даже стыдно.
    Ответ написан
    4 комментария
  • Как сделать обработчик сообщений в Telethon?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Так как непонятно какой ответ вы хотите получить (ну не готовый же код) то отвечу так:
    Опубликовать этот же текст на любой фриланс бирже + указать сроки (оно ведь срочно) и всё будет сделано.
    Ответ написан
    Комментировать
  • Как я могу изменить название .exe и название процесса моей программы?

    @rPman
    Закрой проект, открой в текстовом редакторе файл проекта *.csproj (формат xml) и замени название в теге <AssemblyName>....</AssemblyName>

    после открытия на всякий случая очисти и пересобери проект (build -> clean)
    Ответ написан
    Комментировать
  • Как присвоить массиву int значение символа из строки в строковом массиве?

    Ошибка возникает из-за того что Convert.ToInt32(char) выдаёт код символа, а не число.
    В твоём случае нужно так:
    var text = "123 321";
    var statistics = new int[10];
    var arrStr = text.Split(' '); // И не надо ничего предполагать. Под индексом 0 лежит 123
    
    Console.WriteLine(arrStr[0][0]); // выдаст 1 
    // Ошибка из-за того что Convert.ToInt32(arrStr[0][0]) == 49 - это код символа '1'
    // statistics[Convert.ToInt32(arrStr[0][0])] = 1; // ошибка переполнение массива
    
    // Гарантируем, что arrStr[0][0] - цифра и парсим её.
    var digit = arrStr[0][0];
    var idx = digit is >= '0' and <= '9'
      ? digit - '0'
      : throw new InvalidOperationException("Not a digit");
    statistics[idx] = 1; // Нет ошибки
    Ответ написан
    Комментировать
  • Юнити ошибка cs0120 как исправить?

    Найти место (файл Assets/DamageScript.cs, строка 11), где вызывается метод PlayerManager.Damage
    И вызывать его на конкретном экземпляре класса PlayerManager, тк метод не статический и его нельзя вот так вызвать.
    Получить конкретный экземпляр можно при помощи new PlayerManager или при помощи GetComponent

    Либо сделать метод Damage статическим, если это допустимо (скорее всего не допустимо, тк он скорее всего должен иметь доступ к состоянию конкретного объекта).
    Ответ написан
    1 комментарий
  • Какую версию assembler учить (MASM или FASM)?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Assembler
    Седой и строгий
    MASM и FASM - это компиляторы, а не языки. Различия в коде для MASM и FASM только на уровне директив и макросов. У языка Ассемблера есть два основных диалекта - синтаксис Intel и синтаксис AT&T, а также различный набор инструкций для различных архитектур процессоров. Я рекомендую начать с эмулятора 8086 в реальном режиме и только освоив в должной мере основы, выбирать компилятор.
    Ответ написан
    Комментировать
  • Как зарабатывают разработчики open sourse?

    ValdikSS
    @ValdikSS
    есть например почтовые сервисы с открытым исходным кодом (proton mail tutanota)
    но почему мы не можем их развернуть на своем сервере ?
    Tutanota и Protonmail — сервисы с закрытым исходным кодом. Исходники предоставляются только для части компонентов, клиентских программ, и т.п., но серверная часть закрыта и не выкладывается.
    Зарабатывают эти сервисы на, собственно, предоставлении сервиса.

    И такой же вопрос только про vpn с открытым исходным кодом.
    Открытые решения не всегда подходят к корпоративной среде, не всегда полностью покрывают все задачи, или не всегда совместимы с уже имеющимся оборудованием.
    Зарабатывают создатели VPN-приложений на адаптации программ под конкретные условия и задачи, на разработке дополнительной функциональности, на внедрении, иногда на брендировании под заказчика.
    Ответ написан
    1 комментарий
  • Почему не стартует корутина?

    PragmaGames
    @PragmaGames
    Увлекаюсь Unity.
    Ты каждый FixedUpdate() стартуешь карутину, не делай так.
    Ответ написан
    5 комментариев