assert()
assert() - макроопределение для вывода отладочных диагностических сообщений. Используется для включения в программу диагностических операторов и принимает один аргумент (int expression).
Аpгyмент expression должен быть выражением, которое принимает значение истина (не ноль), если программа работает так, как вы предполагаете.
Когда expression ложно (ноль), assert вызывает abort, предварительно выведя сообщение, показывающие, какая и где произошла ошибка:
assertion failed: expression, file filename, line lineno
assert() - макроопределение для вывода отладочных диагностических сообщений. Используется для включения в программу диагностических операторов и принимает один аргумент (int expression).
Аpгyмент expression должен быть выражением, которое принимает значение истина (не ноль), если программа работает так, как вы предполагаете.
Когда expression ложно (ноль), assert вызывает abort, предварительно выведя сообщение, показывающие, какая и где произошла ошибка:
assertion failed: expression, file filename, line lineno
Ключевое слово typedef
Это ключевое слово, которое создает псевдоним для существующего типа данных.
По соглашению имена typedef объявляются с использованием суффикса "_t".
Это помогает указать, что идентификатор представляет собой тип, а не переменную или функцию, а также помогает предотвратить конфликты имен с другими типами идентификаторов.
Это ключевое слово, которое создает псевдоним для существующего типа данных.
По соглашению имена typedef объявляются с использованием суффикса "_t".
Это помогает указать, что идентификатор представляет собой тип, а не переменную или функцию, а также помогает предотвратить конфликты имен с другими типами идентификаторов.
🎉 Кино, игры и алгоритмы: чем заняться на майских праздниках
Отложите все дела и забудьте о рутине, ведь майские праздники уже на пороге! Если вы не знаете, как провести эти дни с максимальным удовольствием, то мы подготовили для вас несколько вариантов: киномарафон, компьютерные игры и захватывающий мир алгоритмов.
🔗 Основной сайт
🔗 Зеркало
Отложите все дела и забудьте о рутине, ведь майские праздники уже на пороге! Если вы не знаете, как провести эти дни с максимальным удовольствием, то мы подготовили для вас несколько вариантов: киномарафон, компьютерные игры и захватывающий мир алгоритмов.
🔗 Основной сайт
🔗 Зеркало
MIDI chiptune + detune
Добавляем функциональность к музыкальному MIDI-синтезатору на двух чипах AY-3-8910, а также вспоминаем, что общего между музыкой и математикой.
https://habr.com/ru/articles/731036/
Добавляем функциональность к музыкальному MIDI-синтезатору на двух чипах AY-3-8910, а также вспоминаем, что общего между музыкой и математикой.
https://habr.com/ru/articles/731036/
Хабр
MIDI chiptune + detune
Добавляем функциональность к музыкальному MIDI-синтезатору на двух чипах AY-3-8910, а также вспоминаем, что общего между музыкой и математикой. Оглавление Dual AY-3-8910 MIDI module Принцип работы...
Меньше багов богу разработки: плюсы, минусы и нюансы имплементации подхода Secure by design.
https://habr.com/ru/companies/kaspersky/articles/725360/
https://habr.com/ru/companies/kaspersky/articles/725360/
Хабр
Меньше багов богу разработки: плюсы, минусы и нюансы имплементации подхода Secure by design
По дефолту разработчики, стремясь достичь безопасности приложения, идут операционным путем: пишут тесты и делают ревью, чтобы устранять уязвимости уже по факту их выявления. Однако существует подход,...
Sonar Compiler Explorer: Напишите чистый код C++ внутри вашего браузера.
https://www.sonarsource.com/blog/sonar-compiler-explorer-write-clean-c-code-inside-your-browser/
https://www.sonarsource.com/blog/sonar-compiler-explorer-write-clean-c-code-inside-your-browser/
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования.
https://habr.com/ru/articles/732434/
https://habr.com/ru/articles/732434/
Хабр
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования
Цель настоящей статьи - изучить лямбда функции: чем они отличаются от обычных функций и изучить, как они реализованы в С++, Python 3 и Java. На протяжении этой статьи я буду использовать godbolt.org ,...
⚡️ Как вставить ASM в Си
Бывают такие фрагменты кода, которые вызываются очень часто, но выполняют простые операции. Они должны отрабатывать мгновенно и самый оптимальный способ ускорить функции — использовать asm.
Из видео вы узнаете, как вставить код ассемблера в C и какие есть ограничения. Также поймёте, в каких ситуациях так можно делать, а в каких нет.
https://youtu.be/hWq-N3lVAQ4
Бывают такие фрагменты кода, которые вызываются очень часто, но выполняют простые операции. Они должны отрабатывать мгновенно и самый оптимальный способ ускорить функции — использовать asm.
Из видео вы узнаете, как вставить код ассемблера в C и какие есть ограничения. Также поймёте, в каких ситуациях так можно делать, а в каких нет.
https://youtu.be/hWq-N3lVAQ4
YouTube
Как вставить ASM в Си (inline asm)
#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - https://yangx.top/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
Основной канал для общения и публикации новых видео - Телегарм - https://yangx.top/softwareengineervlog
Спонсорство - https://donate.s0er.ru
Сайт платным контентом - https://soer.pro
Зеркало для видео Дзен Видео - https://zen.yandex.ru/i…
Как проверить, находится ли указатель в диапазоне памяти.
https://devblogs.microsoft.com/oldnewthing/20170927-00/?p=97095
https://devblogs.microsoft.com/oldnewthing/20170927-00/?p=97095
Microsoft News
How to check if a pointer is in a range of memory
Thanks to the C language standard, it's trickier than it seems.
Этот репозиторий является неофициальным плагином Unreal, который может читать файлы OpenVDB и NanoVDB в Unreal.
https://www.libhunt.com/r/unreal-vdb
https://www.libhunt.com/r/unreal-vdb
Libhunt
Unreal-vdb Alternatives and Reviews
Which is the best alternative to unreal-vdb?
🧒👾Тест-игра на выживание: как джуну протянуть первую рабочую неделю и не потерять работу
Первая неделя на новой работе – это всегда стресс для разработчика. В голове тысяча мыслей, давление зашкаливает, и сердце стучит без остановки. Знаете ли вы, как в такой ситуации не перегореть на старте? Если да, тогда вы легко пройдете нашу мини-игру на выживание про адаптацию джуна в незнакомых условиях. Итак, представьте: желанный оффер уже получен, вас приняли в компанию вашей мечты и сегодня первый рабочий день.
🔗 Основной сайт
🔗 Зеркало
Первая неделя на новой работе – это всегда стресс для разработчика. В голове тысяча мыслей, давление зашкаливает, и сердце стучит без остановки. Знаете ли вы, как в такой ситуации не перегореть на старте? Если да, тогда вы легко пройдете нашу мини-игру на выживание про адаптацию джуна в незнакомых условиях. Итак, представьте: желанный оффер уже получен, вас приняли в компанию вашей мечты и сегодня первый рабочий день.
🔗 Основной сайт
🔗 Зеркало
C++ OpenGL Tutorial
OpenGL является одним из самых популярных прикладных программных интерфейсов для разработки приложений в области двумерной и трехмерной графики.
Смотреть видеоуроки
OpenGL является одним из самых популярных прикладных программных интерфейсов для разработки приложений в области двумерной и трехмерной графики.
Смотреть видеоуроки
🧒💼 Как найти работу junior-разработчику: 5 самых неочевидных способов
Расскажем о самых неочевидных способах ворваться в ИТ, если ты решил сделать это только в 2023 году.
🔗 Основной сайт
🔗 Зеркало
Расскажем о самых неочевидных способах ворваться в ИТ, если ты решил сделать это только в 2023 году.
🔗 Основной сайт
🔗 Зеркало
Отладка смешанного стека Python и C.
https://developer.nvidia.com/blog/debugging-mixed-python-and-c-language-stack/
https://developer.nvidia.com/blog/debugging-mixed-python-and-c-language-stack/
NVIDIA Technical Blog
Debugging a Mixed Python and C Language Stack
Debugging is difficult. Debugging across multiple languages is especially challenging, and debugging across devices often requires a team with varying skill sets and expertise to reveal the underlying…