container_of подробно


https://annimon.com/code/?act=comm&id=4693 Поскольку возникли вопросы, как эта магия работает, разберём макрос подробнее.

task.png
Итак, есть задача: зная адрес вложенной структуры child (на рисунке выделен светло-зелёным оттенком, так я обозначаю известный адрес), нужно получить адрес структуры parent (выделено цветом, близким к оранжевому, неизвестный адрес), содержащей child. Можно было бы хранить указать на parent в child, но есть несколько проблем. Для примера были даны простейшие структуры, но в реальных задачах структуры могут содержать много элементов и хуже, если есть полный (или почти полный) граф указателей между ними, тогда можно запросто забыть проинициализировать указатель во вложенной структуре на структуру-контейнер, тем более когда вложенных структур
Продолжить

Рейтинг:  6  (Против: 0 | За: 6)
Добавлено: 5.11.2015 от Freddy

Комментарии (9)

Язык Go и зачем нужен был ещё один язык


Хочу рассказать вам об относительно новом языке Go. Также часто называемый Golang. Искать что-нибудь в интернете нужно искать с приставкой golang, иначе всякие сайты про CS:GO будут))

Ой. Ну короче. Языку Go - 5 лет. Молодой язык взял свое начало в недрах Google. Разработчики языка Си и Unix (Кен Томпсон) и Роб Пайк задумались, а каким должен быть хороший язык программирования. Здесь они решили, что язык будет компилируемый и главной фичей языка будет многопоточность и отдельный синтаксический сахар для потоков и каналов. Почему они так сделали? В текущих реалиях мощности компьютера увеличиваются а программы все еще работают в одном потоке. Нужно было это как-то исправить.

Об остальных фичах коротко - статическая типизация, сборщик мусора, упрощенный
Продолжить

Рейтинг:  2  (Против: 3 | За: 5)
Добавлено: 8.09.2015 от StarTek

Комментарии (18)

Stylus. Знакомство


Если вы frontend разработчик, увлекаетесь вёрсткой или просто посещаете наш форум, то наверняка слышали о препроцессорах CSS. Далее речь пойдёт о Stylus, который позиционирует себя как революционно новый язык, обеспечивающий эффективность, динамичность и элегантность вашего кода. Возможно, он не такой уж и революционный, но действительно несёт в себе интересные идеи.

Организовываем кухнюОгромное количество инструментов для фронтенда написано на Node.js, Stylus не исключение. Это открытый проект, так что вы можете собрать его из исходников, или установить из NPM:
  1. $ npm install stylus -g

Стили должны храниться в файлах
Продолжить

Рейтинг:  5  (Против: 1 | За: 6)
Добавлено: 25.08.2015 от Ксакеп

Комментарии (21)

Lib_rms - библиотека для работы с RMS


Lib_rms - библиотека для MIDlet Pascal, для грамотной работы с RMS.
Главное отличие в том, что данная библиотека имеет гораздо большие возможности, нежели стандартные средства работы с RMS в MIDlet Pascal.

#1 Бредословие
#2 Введение в RMS
#3 Подключение библиотеки
#4 Пример
#5 Обработка ошибок
#6 Несколько бесполезных событий
#7 Принцип чтения/записи
#8 Документация
#9 Реанимация

---
#1 Бредословие

Люди делятся на 2 категории: на тех, кто прошёл Quake от начала до конца, и на тех, у кого не хватило терпения или реакции, чтобы выпустить кишки всем злобным монстрам. Поколение игры Quake хорошо знает основной принцип: "Главное - не забыть сохраниться!"

---
#2 Введение в RMS

Хранение данных организовано в Java 2 ME с помощью системы управления
Продолжить

Рейтинг:  7  (Против: 1 | За: 8)
Добавлено: 16.11.2014 от Kalter

Комментарии (15)

Создание графического меню


В этой статье будет рассмотрено создание графического меню. Многим хочется чтобы их приложение или игра были оформлены красиво, так же меню должно обеспечивать удобное взаимодействие пользователя и приложения.
Я опишу метод создания меню без использования множества спрайтов и проверки их столкновений.
Нам понадобится два графических файла: курсор, картинка меню(к примеру размер 128-160) с нарисованными прямоугольными кнопками(у нас будет 3 кнопки: СТАРТ, ПОМОЩЬ, ВЫХОД).
Нам понадобятся координаты верхнего левого и нижнего правого углов каждой кнопки.
Например:
СТАРТ-координаты 20,10;100,30
ПОМОЩЬ-координаты 30,40; 90,60
ВЫХОД-координаты 20,70; 100,90
Эти координаты понадобятся нам в дальнейшем.

И так, начнём писать код..

  1. 10 gelload "kur","kur.png"
Загружаем
Продолжить

Рейтинг:  3  (Против: 1 | За: 4)
Добавлено: 9.05.2014 от heavenzip

Комментарии (0)
Всего: 23
<< 1 2 3 4 5 >>

Мы в соцсетях

tw tg yt gt