Нерусские вомбаты
С просторов Reddit, местами в видео есть громкая музыка. Но вроде таких тут еще не видел.
Господи, забери любую технику у тех, у кого получаются такие рамки.
Сохраняй посты, комментируй и ставь оценки
С просторов Reddit, местами в видео есть громкая музыка. Но вроде таких тут еще не видел.
А значит и возлежать следует соответствующим образом.

Всех причастных с праздником!
Всем здравствовать!
Юсти́ция (лат. justitia «справедливость, законность», от jus «право»). В латинском переводе Библии юстиция является синонимом правды: Блаженны (beati) алчущие и ищущие правды (iustitiam) (Мф. 5:6).
Сие была цитата из Библии Википедии.
А теперь вернёмся к нам, простым смертным. Ну так кто тут боушка вомбаттла?)))

Да, не оставляйте надежды! Возможно, когда-нибудь, я отойду от дел, и кто-то из смертных сможет занять моё место.
Но пока справедливость, она же Юстиция, на моей стороне.
@Vombatolog что там с ачивкой за непреывное посещение вомбата в течение года?
Это ведь не сложно проверить)
P.S. Юстициар (англ. The Justicar), тобишь машина юстиции, чем не прикол?
А кто бы не испугался?

Хотя на самом деле ехидна не проявляла агрессии, а просто мимокрокодила, но вомбатёнок и испугался и начал метаться. Немного забавно. Кому хочется посмотреть видео, вот ссылка на ютуб.
P.S. квинслендский вомбат самый редкий из трёх видов.
P.P.S. сколько нужно запостить вомбатов, чтобы получить ачивку?
ИИ очень смутно себе представляет вомбатов, надо сказать :)) это ещё самые удачные варианты от Deepai.



Десять вомбатов пошли купаться в речку,
Один остался на дне, не выплыл вовек-то.
Теперь их осталось девять весёлых,
Все они дружно смеются и поют.

Девять вомбатов пошли купаться в речку,
Один не удержался, утонул в момент-то.
Теперь их восемь остались в строю,
По лесу гуляют, песни поют.

Восемь вомбатов пошли купаться в речку,
Один не всплыл — был не в том эффекте.
Теперь осталось семь, как же им везёт,
Плескаться в воде — такой вот завод.

Семь вомбатов пошли купаться в речку,
Один не вернулся, утонул в омлет-то.
Шестеро теперь резвятся в волнах,
Смеются и прыгают на берегах.

Шесть вомбатов пошли купаться в речку,
Один исчез, словно в сказке сюжет-то.
Пятеро теперь продолжают заплыв,
Счастливы они, как в сладком сне.

Пять вомбатов пошли купаться в речку,
Один не выплыл, и вот их четверо.
Всё равно они не унывают,
Весело в воде они играют.

Четыре вомбата пошли купаться в речку,
Один не всплыл, словно в плохом проекте.
Трое остались, но всё ещё счастливы,
Вместе они по волнам плывут.

Три вомбата пошли купаться в речку,
Один не вернулся, утонул в моменте.
Два остались, всё еще в духе,
Вместе плещутся, как в волшебной сказке.

Два вомбата пошли купаться в речку,
Один исчез, утонул в пустоте-то.
Один остался, но не унывает,
Смело в воду он погружается.

Один вомбат пошёл купаться в речку,
Он не всплыл, утонул, как в дискретке.
Всё, считалка подошла к концу,
Но в сердце останется радость и смех.

"Кокаином!" ©
А если серьёзно, то меня тут обвинили в измене Родине недостаточно прозрачном применении оперативно-тактического комплекса типа "брелок-открывашка".
Штош вот вам видео. @lllyxapm смотри!)))

Хотел написать про работу системы управления памятью, но понял, что для полноценной статьи у меня не хватает практических знаний. Поэтому кратко

Помимо стека, о котором было рассказано в прошлой статье и который содержит локальные переменные, в "потребительской" программе в среднестатистической ОС еще бывают глобальные переменные и динамическая память. Глобальные переменные описываются внутри сегментов .bss и .data, резервируясь в памяти сразу после загрузки образа программы (по-правильному это называется процессом).
Динамическая память иначе называется кучей, так как представляет из себя кучу динамических данных, который могут появляться и исчезать во время работы.
Для работы с динамической памятью в C существует malloc(size_t), запрашивающий (выделяющий, аллоцирующий) у ОС кусок памяти указанного размера и возвращающий указатель на первый байт, и free(void *), принимающий этот указатель и возвращающий (освобождающий) кусок назад в ОС.
В C++ есть операторы new и delete, они устроены гораздо сложнее и я не буду их рассматривать, ибо не пишу на нем. Помимо запроса памяти у ОС они занимаются ее инициализацией.
Если по какой-то причине стандартной библиотеки языка в наличии не имеется, то в Windows за память отвечает HeapAlloc и устаревшие GlobalAlloc и LocalAlloc из времен Windows 3.11 (malloc к ним и обращается внутри. Еще есть парные HeapFree, GlobalFree и LocalFree). Они предоставляют больше контроля над результатом, но проприетарны для Windows. А полный список функций для работы с памятью в WinAPI есть здесь, их сотни на любой случай жизни. Можно даже внутри контекста чужого процесса выделить или освободить кусок памяти (обычно такое используется вирусами и прочей нечистью).
А что будет, если постоянно выделять, но не освобождать? А еще лучше: выделять, но терять адреса выделенной памяти. ОС достаточно быстро подскажет правильный ответ.
В теории есть несколько возможных выходов, можно даже обработать подобный случай и, к примеру, экстренно освободить всё выделенное (только если не терять указатели) или попытаться спасти нужные данные из разваливающейся программы, но если никаких действий не предпринять, то ОС заставит процесс экстренно прекратить свою деятельность и существование.
Случай с потерей указателей на выделенную память называется утечкой памяти и ее последствия необратимы. Но как только ОС завершает выполнение процесса, то вся его память, даже утекшая, становится снова свободной.

Отслеживание правильности выделения и освобождения памяти является достаточно сложной и опасной задачей, особенно если требуется обеспечивать стабильность и безопасность (лучше даже не думать, что будет, если рукожопый программист забьет на MISRA и устроит утечку памяти в подсистеме тормозов в Тесле), и практически невыполнимой в некоторых парадигмах (особенно в функциональном программировании). Поэтому еще с древнейших времен (с 1959 года) существуют языки со сборкой мусора:
Но несмотря не это, практически все современные языки используют сборку мусора, кроме C++ и Rust. C++ по большей части перешел на умные указатели, которые тоже считают количество активных ссылок, но делают это без сборщика мусора. А Rust использует свой уникальный Borrow Checker, который понимают только растофилы.
На этом вроде у меня всё.