Vit (15.11.2010 14:48, просмотров: 144) ответил bialix на хотелось бы примера работающего кода. как я вижу, эта обвертка и сопутствующая шелуха нужна например для PT_SPAWN, который собственно позволяет запустить вложенный подавтомат. И поэтому, если я правильно понимаю, выкидывание этой шелухи
я использую примерно те coroutines, из которых эти прототриды собственно появились. но иногда бывает нужно "снаружи" поуправлять состоянием автомата - тогда ( а это очень редко) использую передачу состояния как параметра. для вложения автомата http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
нужно иметь статическую структуру pt для него (а в pt лежит аж одна переменная состояний). PT_SPAWN кроме обёртки по созданию статической структуры pt ничем не отличается от вызова функции с передачей переменной состояния и с контролем возврата. Но, используя эти макросы, напрямую сброс состояния дочернего трида недоступен - спрашивается, зачем оно тогда - модное слово в поток статей? Откройте эти пару файлов макросов, прочитайте их в редакторе, пробрасывающем доксиген, и Вы сразу поймёте, что там по сравнению с исходной идеей аж добавлено шелухи. Одно но - Дункель молодец - и чужую хорошую идею умело в массы закинул и сам на этом степеней заработал.