Задать вопрос
  • Знания для программирования?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    понял, что не хватает знаний в других областях

    Что посоветуете изучить

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

    sim3x
    @sim3x
    English + google
    Ответ написан
    Комментировать
  • [Установка в linux/Debian] Как установить нужную программу?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Окей, не будем предлагать пакетные менеджеры - это навык, развивающийся постепенно, несколько-то систем вам будет полезно засрать вручную установленными непонятно куда из исходников программами...это как стадия двух антивирусов или любви к различным клинерам или "фанатским сборкам" на винде, никуда от неё не денешься.
    Ответ написан
    Комментировать
  • Как происходит линковка приложений?

    @xandox
    runime - это по сути просто стандартная библиотека. Прослойка между вашим кодом и ABI системы. Как и любой другой код он может быть как статический так и динамический. У статического и динамического runtime-а свои плюсы и минусы.
    Приведу некоторые из них
    У статического
    + Нет зависимостей, все что нужно исполняемому файлу - только операционная система.
    + Как следствие предыдущего пункта, ОС что бы его запустить нужно прочитать с диска и инициализировать только один файл. Потенциально может ускорить запуск приложения.
    - Размер файла сильно возрастает
    - Использование dll (ну если вдруг захочется плагины, например, к себе прикрутить) сильно усложняется. Надо быть довольно осторожным.

    У динамического
    + Размер файла не распухает
    + Рантайм делиться со всеми загруженными dll, по сути присутсвует в единственом экземпляре.
    + Работать с dll становиться немного проще.
    - Что бы хоть чего-нибудь запустилось - нужно позаботиться о том, что на машине установлен нужный вам рантайм, что усложняет процесс доставки конечного продукта до пользователя. По сути уже нужно делать инсталер.
    - Нужно следить, что все динамические библиотеки которые используется в приложение были собраны с нужным рантаймомо. Это не всегда тривиально.

    Теперь про вопросы.
    1) Нет. msvcr120.dll - это просто рантайм от VS2012, у VS2015 будет что-то msvcr140.dll. У gcc - что-то еще. Как я уже говорил, runtime - это просто код, который нужно куда-то положить. И у каждого поставщика стандартной библиотеки он свой.
    2) Да это правда. Основное отличие - это поддержка стандартов и расширений. VS2010 от с++11 поддерживала совсем ничего, а вот VS2015 уже поддерживает c++11/14 и немного 17 (ну с оговорками на MS и о том как они поддерживают стандарты). Это тоже код и его куда-то нужно положить. Плюс, довольно распростроненная проблема - это ABI. Порядок полей в классах (например), который никак не оговаривается стандартом, делает бинарные реализации не совместимыми, если порядок не совпадает (если сильно по простому).
    3) Там лежит стандартная библиотека.
    4) Нет, на то она и dll. Но как правило многие библиотеки распространяются в двух видах - динамическая линковка + статическая. Или если это opensource всегда можно для себя собрать статичскеую библиотеку для того что бы статически слинковаться.
    5) Конечно, что-то добавляет. Runtime C++ добавляет еще больше. Плюс надо понимать, что еще есть runtime для OC, который позволяет вызвать ее функции как функции, а не через прерывания или еще как. Теоретически можно работать без всего этого добра, но будет грустно.
    Ответ написан
    Комментировать
  • Что такое Байт Бит и как это работает не много о звуке?

    usdglander
    @usdglander
    Yipee-ki-yay
    У цифрового звука есть 2 параметра: Частота дискретизации и битрейт. При кодировании основная задача записать аналоговую кривую колебаний с помощью столбиков. Частота дискретизации указывает на ширину столбика (сколько столбиков в секунде), а битрейт - сколькими БИТАМИ кодируется высота столбика. Понятно что чет выше частота дискретизации, тем столбики уже, а чем больше битрейт, тем точнее можно указать высоту столбика. Поэтому при увеличении этих двух параметров дискретная кривая приближается к аналоговой.
    Ответ написан
    Комментировать