Может ли C++ работать без Runtime?

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

ความคิดเห็น • 24

  • @АлександрСоловьев-ю9ц2к
    @АлександрСоловьев-ю9ц2к วันที่ผ่านมา +6

    С++ позволяет работать без рантайма.
    С++ так же позволяет собственно свелосипедить этот самый рантайм (если по какой то причине платформа и ОС отсутсвуют (например мы пишем новую ОС на С++) и мы из наличествующего имеем только компилятор для архитектуры процессора)
    Время Медоуказчика , есть книга "Practical Guide to Bare Metal C++" - там как раз описывается как сделать фичи C++ руками с нуля, если платформы у нас нет и её предстоит сделать.

  • @sudo-apt-upgrade-brain
    @sudo-apt-upgrade-brain วันที่ผ่านมา +1

    Как всегда информативно. Спасибо

  • @_dzen_tv_
    @_dzen_tv_ วันที่ผ่านมา +3

    Файл .so - это скомпилированный файл библиотеки. Он означает «Shared Object» и является аналогом Windows DLL.

  • @bsprspktvnk
    @bsprspktvnk วันที่ผ่านมา +8

    а может ли си плюс плюс работать без компилятора
    а может ли си плюс плюс работать в голове пишущего

    • @Burburbirbur
      @Burburbirbur วันที่ผ่านมา +3

      В голове может работать, но есть проблема
      1 утечка памяти, и все, Альцгеймер

    • @cyrilanisimov
      @cyrilanisimov วันที่ผ่านมา

      1. Может. Где-то есть интерпретатор Си. Да и Си Шелл, вроде понимает сишный синтаксис.
      2. Может и работает)

  • @possumcode
    @possumcode วันที่ผ่านมา

    Классно. Не подозревал об этом )

  • @alexanderspeshilov839
    @alexanderspeshilov839 8 ชั่วโมงที่ผ่านมา

    1. Круто - в этом видео количество ненужных повторений уменьшилось раз в 10. Если в прошлом видео было почти после каждой фразы, то сейчас уже относительно немного.
    2. Сравнивать рантаймы имеет смысл для похожих инструментов. Рантайм С++ вполне себе сопоставим с рантаймом Rust.

  • @alexandrgonzales6503
    @alexandrgonzales6503 วันที่ผ่านมา

    Доктор, а откуда у вас такие картинки на рабочем столе?

  • @EgorFrade
    @EgorFrade 12 ชั่วโมงที่ผ่านมา

    Baremetal С++ для esp вполне себе без рантайма.

  • @andreysamara9276
    @andreysamara9276 18 ชั่วโมงที่ผ่านมา +1

    runtime это не совсем то слово про что рассказ, на мой взгляд слово runtime в с++ из области шаблонной магии где есть исполнение кода на этапе компиляции и исполнение в runtime, а то про что рассказывает автор скорее похоже на бэкэнд исполнения в runtime

  • @dimobixgenchik2001
    @dimobixgenchik2001 วันที่ผ่านมา

    Крутой Дядя !!!

  • @cyrilanisimov
    @cyrilanisimov วันที่ผ่านมา +1

    При чём тут эксепшены в RAII? Эксепшены можно отключить. RAII - нет.
    Зачем путать «рантайм» и библиотеки?
    Скомпилируйте программу на Rust - библиотека Си и ГЦЦ, тоже будут слинкованы.
    Попробуйте написать программу без мэйна и стандартной либы, не будет вообще рантайма.

  • @ГеннадийБекасов-ь5ю
    @ГеннадийБекасов-ь5ю 16 ชั่วโมงที่ผ่านมา

    А как дядя настраивает дебаг для своих ИДЕ? С удовольствием поруководствовался бы медовым гайдом на тему настройки nvim И vscode

  • @_dzen_tv_
    @_dzen_tv_ วันที่ผ่านมา +3

    Опции линкера для GCC:
    -nostdlib - не использовать рантайм;
    -static-libgcc -static-libstdc++ - прилинковать статически.
    По умолчанию используется рантайм собранный в виде динамических библиотек. Если не знать что это за библиотеки приложение может окирпичится.

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к วันที่ผ่านมา

      собственно, именно благодаря данному дефолтному поведению у конечных пользователей зачастую возникает квест "скачать нужный редистриб с МСДН"))))

    • @safocl9768
      @safocl9768 17 ชั่วโมงที่ผ่านมา +1

      @@АлександрСоловьев-ю9ц2к есть простое решение -- не юзать винду0))

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к 15 ชั่วโมงที่ผ่านมา

      @@safocl9768 с глибцами порой проблем не меньше

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к 15 ชั่วโมงที่ผ่านมา

      @@safocl9768 можно подумать с глибцами проблем меньше)))

  • @MuxaL
    @MuxaL 11 ชั่วโมงที่ผ่านมา

    zoxide + eza

  • @АлександрСоловьев-ю9ц2к
    @АлександрСоловьев-ю9ц2к วันที่ผ่านมา

    И да, в комментариях к предыдущему видео один из комментаторов и вы зачем-то упомянули MMU в контексте С++.
    Откуда взялась эта благоглупость? MMU и C++ ну вот вообще друг с другом никак не связаны, от слова совсем. Вот вообще.
    MMU - это аппаратный модуль процессора ОБЕСПЕЧИВАЮЩИЙ АППАРАТНУЮ ВИРТУАЛИЗАЦИЮ (да, виртуальная страничная память - это именно виртуализация, виртуализация ПОД ОСИ которую все и привыкли называть виртуализацией это по то же самое только прикидывающееся нулевым кольцом, она по факту и устроена почти так же только с циферкой уровня привелегий ниже, кроме условного кернела у нас еще появляется уровень круче - суперкернел (супервизор обычно) ) .
    То есть скажем для МНОГОЗАДАЧНОЙ операционной системы он крайне желателен , именно с точки зрения безопасной МНОГОЗАДАЧНОСТИ (не обязателен - можно и без него - собственно что Амига что Маки старые что Виндовсы до тройки не на 386 вполне обходились - это им окошки рисовать и запускать несколько приложений одновременно не мешало, мешало только отуствие аппаратной изоляции доступа к памяти, которое позваляло лихо портить память другому процессу).
    А ВОТ К КРЕСТАМ, МАТЬ ЕГО, КАКОЕ ОН ОТНОШЕНИЕ ИМЕЕТ?

    • @call_nick
      @call_nick 10 ชั่วโมงที่ผ่านมา

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

    • @АлександрСоловьев-ю9ц2к
      @АлександрСоловьев-ю9ц2к 9 ชั่วโมงที่ผ่านมา

      @@call_nick
      osdev wiki paging
      В гугле искать, ссылки к сожалению не оставить.