ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
191928 Топик полностью
ReAl (27.04.2010 13:06, просмотров: 142) ответил Sergey_N на Там ничего про статические переменные не говорится
1) - да, почти всё нужно делать нелокальным, удобно в качестве расширения структуры с контекстом, добавлять туда поля, необходимые для задачи. Заодно по тому же указателю адресуются. http://www.sics.se/~adam/pt/
http://www.rsdn.ru/forum/cpp/2971321.flat.4.aspx
2) По первой ссылке - в конце темы вариант для x86 VC++ с асм вставками. В исходнмом варианте используются switch/case, работает для любого С-компилятора и архитектуры, но тогда свои switch/case могут быть только между двумя обращениями к "ОС" - как вложенные в "осевой" switch. Это всё обсуждалось уже http://caxapa.ru/g …protothreads&from=0&f= Решил попробовать - реально напрягает только необходимость переключаться только на верхнем уровне задачи, вызвать функцию, которая пробует чего-то ждать - нельзя. Чтобы не выходить за разумные пределы обозримости главной функции задачи - ничего лучше не придумал - приходится многое выносить в подзадачи, в верхней ожидать их завершения. А вообще - это Vit-а надо раскручивать на мастер-класс. Вот ещё ссылкочка http://sourceforge …/projects/protothread/