Обновить
132
0
Николенко Константин@Veliant

Пользователь

Отправить сообщение
изначально бесперспективной работы

Стоит заметить, что в большинстве серьезных коммерческих защит (Themida, VMProtect, и прочие) как раз используются виртуальные машины с динамическим байт-кодом
Мне кажется, основная проблема проекта в том, что нет единого мнения у разработчиков каким путем должно идти развитие этой ОС. Каждый пилит свой подпроект и все. Лично мне видится, что ближайшее возможное использование этой ОС в информационных табло, терминалах, кассовых аппаратах, специфичных устройствах требующих графического интерфейса для управления. Но никак не десктоп. Соответственно нужны реализации алгоритмов шифрования, впн, поддержка специфичного оборудования, библиотеки для быстрого проектирования интерфейса
Язык C требует указывать тип переменной и запрещает его менять. В результате во время выполнения программы нет никаких проверок типов, операторы применяются к переменным однозначно. Но при этом нет красивых механизмов обобщения. Что есть: универсальный указатель void*, возможность передать функции указатель на другую функцию. В языке C++, который в некотором роде является расширением языка C, появились такие механизмы как полиморфизм функций(перегрузка) и шаблоны.

Читайте стандарт C11. Там есть следующие конструкции:
#define cbrt(X) _Generic((X), long double: cbrtl, \
                              default: cbrt, \
                              float: cbrtf)(X)

При вызове cbrt с аргументом long double типа будет вызвана cbrtl, с аргументом float — cbrtf
На сколько помню, проблема с приоритетами в C-- частично решается выставлением скобок ()
Пробовали ли Вы использовать guacamole apache?
гугловый DNS-сервер 8.8.8.8 с самого начала блокировки отдает для нужных имен адрес 151.101.12.133 вместо блокируемого 151.101.36.133
На мой взгляд, эти все технологии доступа к железу из браузера переродились в написание мобильных приложений на HTML5/JS. Например как в webOS, firefoxOS, tizen.
Являюсь обладателем этого же устройства (q10). Есть и минусы:
-по умолчанию дни рождения контактов не появляются в календаре и соответственно нет уведомлений. решается заносом контактов в google-профиль.
-очень мало нативных программ. софт под андроид через некоторое время начинает жестко тупить и вылетать. скорей всего из-за нехватки памяти
-из-за той же нехватки памяти в дефолтном браузере иногда невозможно закрыть вкладку. она остается висеть затененной в списке открытых
-уже избитый вопрос с искусственно заниженной громкостью динамика входящего звонка
Собственно, все самое интересное находится в документах MISRA C с примерами как делать хорошо и как плохо
На мой взгляд это не информативно. Система информирует о повороте в самый последний момент. Постоянно смотреть на неё не вариант. Да и не всегда есть возможность в последний момент перестроиться спокойно перед поворотом
Куда информативнее, на мой взгляд, указывать как в обычных навигаторах статичную картинку с направлением поворота/перестроения и расстояние до него. (оно сейчас указывается но слишком мелко, при первом просмотре даже не заметил)
Если бы не поленились импортировать структуру в Ida pro через меню File->Load file->Parse C header, то получили бы читабельный код
Код
signed int __usercall VhdiVerifyVhdFooter@<eax>(vhd_footer_t *footer@<esi>)
{
  signed int retval; // edi@1
  uint32_t v2; // edi@2
  int v3; // eax@2
  int v4; // eax@6
  int v5; // eax@10

  retval = 0xC03A0003;
  if ( RtlCompareMemory(footer, "conectix", 8u) == 8 )
  {
    v2 = footer->disk_type;
    footer->disk_type = 0;
    v3 = BlUtlCheckSum(footer, 512);
    footer->disk_type = v2;
    if ( v3 == v2 )
    {
      if ( HIWORD(footer->file_format_version) == 1 )
      {
        v4 = *(_DWORD *)&footer->disk_geometry.heads;
        if ( v4 == 2 || v4 == 3 || v4 == 4 )
        {
          v5 = *(_DWORD *)&footer->creator_host_os[0];
          if ( v5 != 'k2iW' && v5 )
          {
            retval = 0xC00000BB;
          }
          else if ( footer->current_size & 0x1FF || footer->original_size & 0x1FF )
          {
            retval = 0xC03A0012;
          }
          else
          {
            retval = 0;
          }
        }
        else
        {
          retval = 0xC03A0004;
        }
      }
      else
      {
        retval = 0xC03A0005;
      }
    }
    else
    {
      retval = 0xC03A0002;
    }
  }
  return retval;
}


Grub4dos стартуемый из ntldr остался после обновления.
А теперь представьте что Вы водитель фуры. У Вас выбор либо уйти в кювет с возможно серъезными повреждениями машины, либо вы соберете несколько легковушек в тотал, но при этом у Вас минимальные повреждения тягача. В обоих случаях вы остаетесь живым. Разница только в повреждениях Вашей машины. Что выберете?
зная что он может вас убить сохраняя жизнь другому человеку

Убъет Вас не автопилот, а другой участник движения, нарушивший правила движения. И почему он должен подвергать опасности жизнь мимо проезжающего человека, не участвующего в аварийной ситуации?
То мой автопилот за который я отдал свои деньги — должен будет меня убить из-за него

Мне не о чем с Вами больше разговаривать, если у Вас ценность жизни измеряется в деньгах.
Не согласен.
Задача автопилота доставить пассажира из точки А в точку Б.

В идеале да. Но на первых этапах — облегчить человеку жизнь управлением авто. Под его присмотром
При невозможности данного действия — сделать ВСЕ чтобы сохранить пассажиру жизнь

Этим должен заниматься не автопилот, а системы активной/пассивной безопасности в первую очередь. Автопилот может это сделать, но только если позволяет дорожная обстановка и не стоит выбор чью жизнь сохранять при ДТП. Жизнь пассажира машины с автопилотом не дороже жизни пассажира соседнего авто.
Так что мое мнение, что данное решение должен принимать человек.
Возможно в будущем будет повсеместное использование автопилотов, которое минимизирует ущерб от аварийной обстановки путем передачи данных между машинами, и будет коллективное безаварийное маневрирование
На мой взгляд не корректно предоставлять такое право выбора автопилоту. Данное действие, в присутствии близко находящихся ТС, должно осуществляться человеком под свою ответственность
Мимо проезжающая легковушка от удара или от неуверенных действий водителя уходит на обочину и наматывается на дерево.
Это уже скорее законы выживания, далекие от ПДД
А если посмотреть второе видео, то есть подозрение что уводит таки в соседнюю. Или по крайней мере наезжает на полосу. На 0:11 land rover едет по центру полосы практически, на 0:28 он уже сам едет прижавшись к левому краю.
Даже если учесть, что автопилот грамотно расчитывает боковую дистанцию при маневрах, это еще не значит, что люди едущие в соседнем ряду не воспримут это как угрозу столкновения и сами начнут создавать аварийную ситуацию. На втором видео, с учетом скорости, было достаточно слегка притормозить

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность