Помимо объединения any существуют еще три: all, one и none. Их смысл понятен из названия. Читать далее «Junctions — 2. None»
Интерполирование переменных
Строковые константы, содержащие ссылки на переменные, определенные в программе, интерполируют их значения. (И считать такие строки константами можно лишь условно). Читать далее «Интерполирование переменных»
Регулярные выражения — 2. Группирующие скобки
Правила регулярных выражений, применяемые в предыдущих версиях Perl допускали наличие круглых скобок, но трактовали их либо как сохраняющие, либо как исключительно группирующие в зависимости от наличия непосредственно после открывающей скобки модификатора ? Читать далее «Регулярные выражения — 2. Группирующие скобки»
Регулярные выражения — 3. Квантификаторы
Как и прежде, после любого символа в регулярном выражении допустимо указывать квантификатор — то есть некую конструкцию, которая уточняет, сколько раз символ может встречаться в тестируемой строке. Читать далее «Регулярные выражения — 3. Квантификаторы»
Пошаговый анализ кода
Давайте теперь взглянем на основные части кода библиотеки TFP.
Начнем мы с заголовочного файла tfplib.h. Каждая программа, в которой будет использоваться библиотека идентификации, должна включать tfplib.h. Читать далее «Пошаговый анализ кода»
Список файлов
Теперь идет список файлов, которые приведут к созданию этого материала. Выборка, которая идет с вышеупомянутыми двумя частями: Читать далее «Список файлов»
Создание дополнительных сегментов с помощью языковых расширений компилятора GNU C/C++
Для этих целей используется модификатор __attribute__ который может задавать условия сохранения структур, данных и т.п. в исполняемом файле. Читать далее «Создание дополнительных сегментов с помощью языковых расширений компилятора GNU C/C++»
Требования к утилите
Требования к утилите, которые стали понятны из телефонного разговора, были довольно нехитры: заказчики хотели простой иметь простой, минимально затрагивающий поведение программы, способ ассоциировать некую маркировку с каждым потоком, который они могли контролировать в их системе. Читать далее «Требования к утилите»
Мутексы
Добро пожаловать в замечательный мир мутексов ( mutex = mutual exclusion, что переводится как «взаимное исключение» ). Из названия видно, что мутексы предназначены для того, чтобы сделать определнный код или данные доступными только одному потоку одновременно. Читать далее «Мутексы»
Дизайн
Главной сложностью дизайна было принятие решения о том, где именно хранить идентифицирующую информацию. Очевидно, что она должна была храниться для каждого потока индивидуально, что в свою очередь означало или изощренное применение глобальных переменных или использование существующей в Neutrino поддержки потоковых областей данных. Читать далее «Дизайн»