реклама на сайте
подробности

 
 
> Альтернативный вариант задания функции процесса
ArtDenis
сообщение Nov 10 2012, 13:36
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318



Приветствую.

Начал смотреть scmRTOS. Сразу начал резать глаз способ реализации функции процесса:
Код
typedef OS::process<OS::pr0, 300> TProc1;

namespace OS
{
    template <>
    OS_PROCESS void TProc1::exec()
    {
        for(;;)
        {
            ef.wait();
            PB0.Off();
        }
    }
}

Необходимость реализовывать функцию процесса внутри поля имён OS, а добавление template <> вызывает некоторое удивление wacko.gif

Подумалось, почему-бы не сделать ф-цию exec просто ф-цией своего собственного класса? На скорую руку сделал несколько изменений в исходниках scmRTOS и весь код декларации и реализации процесса превратился в:

Код
class TProc1 : public OS::process<TProc1, OS::pr0, 300>
{
public:
    static void exec()
    {
        for(;;)
        {
            ef.wait();
            PB0.Off();
        }
    }
};


Что мы в итоге имеем? 1) Класс, в котором можно инкапсулировать данные и методы процесса. Закрытые и используемые только в TProc1 данные можно объявить в секции private класса и никто к ним не получит доступ. 2) Более привычный способ реализации ф-ции.

Кто что думает на этот счёт?


--------------------
http://ufa-darts.ru/ - собираем дартс-лигу в Уфе
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ArtDenis   Альтернативный вариант задания функции процесса   Nov 10 2012, 13:36
- - AHTOXA   Цитата(ArtDenis @ Nov 10 2012, 19:36) Что...   Nov 10 2012, 15:59
- - ArtDenis   AHTOXA, по идее вообще никак не должно влиять на б...   Nov 10 2012, 16:10
|- - AHTOXA   Ну что я могу сказать... Мне очень понравилось. Эт...   Nov 10 2012, 16:31
- - dxp   QUOTE (ArtDenis @ Nov 10 2012, 20:36) Нео...   Nov 11 2012, 03:21
|- - ArtDenis   Цитата(dxp @ Nov 11 2012, 09:21) Откуда в...   Nov 11 2012, 05:00
|- - AHTOXA   Цитата(dxp @ Nov 11 2012, 09:21) Уже обсу...   Nov 11 2012, 06:07
- - dxp   QUOTE (ArtDenis @ Nov 11 2012, 12:00) А к...   Nov 11 2012, 12:02
|- - ArtDenis   Цитата(dxp @ Nov 11 2012, 18:02) Я не зна...   Nov 11 2012, 12:43
|- - dxp   QUOTE (ArtDenis @ Nov 11 2012, 19:43) Я с...   Nov 11 2012, 13:00
- - AHTOXA   Цитата(dxp @ Nov 11 2012, 19:00) Помещать...   Nov 11 2012, 16:00
|- - AHTOXA   Йоу! Я придумал, как совместить эти два вариан...   Nov 11 2012, 19:15
||- - ArtDenis   Цитата(AHTOXA @ Nov 12 2012, 01:15) Йоу...   Nov 12 2012, 02:41
||- - Сергей Борщ   QUOTE (AHTOXA @ Nov 11 2012, 21:15) Я при...   Nov 12 2012, 07:13
||- - AHTOXA   Цитата(Сергей Борщ @ Nov 12 2012, 13:13) ...   Nov 12 2012, 07:48
|||- - Сергей Борщ   QUOTE (AHTOXA @ Nov 12 2012, 09:48) Не по...   Nov 12 2012, 07:56
|||- - AHTOXA   А может мои пламенные речи уже переубедили его?   Nov 12 2012, 10:25
||- - ArtDenis   Цитата(Сергей Борщ @ Nov 12 2012, 13:13) ...   Nov 12 2012, 15:08
|- - ReAl   Цитата(ArtDenis @ Nov 11 2012, 07:00) Лич...   Nov 11 2012, 20:07
- - dxp   QUOTE (AHTOXA @ Nov 11 2012, 23:00) Вообщ...   Nov 13 2012, 06:20
|- - AHTOXA   Цитата(dxp @ Nov 13 2012, 12:20) В общем,...   Nov 13 2012, 14:06
|- - ArtDenis   Цитата(dxp @ Nov 13 2012, 12:20) Ни разу ...   Nov 13 2012, 15:59
- - ReAl   Цитата(Сергей Борщ @ Nov 12 2012, 09:13) ...   Nov 13 2012, 15:31
|- - Сергей Борщ   QUOTE (ReAl @ Nov 13 2012, 17:31) А как и...   Nov 13 2012, 16:34
- - dxp   QUOTE (AHTOXA @ Nov 13 2012, 21:06) Прове...   Nov 13 2012, 16:52
|- - AHTOXA   Ладно, раз уж у Гарри такая идиосинкразия к этому ...   Nov 13 2012, 17:04
|- - ReAl   Цитата(dxp @ Nov 13 2012, 18:52) Отождест...   Nov 13 2012, 18:44
|- - ArtDenis   Цитата(dxp @ Nov 13 2012, 22:52) Вы путае...   Nov 14 2012, 03:33
|- - ReAl   Цитата(ArtDenis @ Nov 14 2012, 05:33) В о...   Nov 14 2012, 13:45
|- - ArtDenis   Цитата(ReAl @ Nov 14 2012, 19:45) Ну да. ...   Nov 14 2012, 14:00
|- - ReAl   Цитата(ArtDenis @ Nov 14 2012, 16:00) voi...   Nov 14 2012, 15:01
|- - ArtDenis   Цитата(ReAl @ Nov 14 2012, 21:01) -Wredun...   Nov 14 2012, 15:21
- - dxp   QUOTE (AHTOXA @ Nov 14 2012, 00:04) Ладно...   Nov 14 2012, 01:17
|- - Сергей Борщ   QUOTE (dxp @ Nov 14 2012, 03:17) Почему т...   Nov 14 2012, 07:29
||- - Сергей Борщ   QUOTE (Сергей Борщ @ Nov 14 2012, 09:29) ...   Nov 14 2012, 08:46
||- - AHTOXA   Давайте я сюда добавлю ссылки на уже придуманные в...   Nov 14 2012, 09:17
||- - Сергей Борщ   QUOTE (AHTOXA @ Nov 14 2012, 11:17) вот в...   Nov 14 2012, 11:25
||- - AHTOXA   Я вот что подумал. В момент вызова TBaseProcess::i...   Nov 15 2012, 19:49
|- - AHTOXA   Цитата(dxp @ Nov 14 2012, 07:17) Э-э, мы,...   Nov 14 2012, 07:47
- - dxp   QUOTE (Сергей Борщ @ Nov 14 2012, 15:46) ...   Nov 14 2012, 11:57
|- - ReAl   Цитата(dxp @ Nov 14 2012, 13:57) Кстати, ...   Nov 14 2012, 12:51
- - ArtDenis   Всё-таки расставлю точки над i по поводу текущего ...   Nov 14 2012, 13:43
- - ReAl   Не надо адрес функции-члена... Слова C++ extension...   Nov 15 2012, 20:19
- - ArtDenis   AHTOXA, Указатель на нестатическую функцию член кл...   Nov 16 2012, 03:41
- - AHTOXA   Цитата(ArtDenis @ Nov 16 2012, 09:41) AHT...   Nov 16 2012, 19:41
|- - AHTOXA   Я так понимаю, никто не впечатлился? Да, это оч...   Nov 17 2012, 20:10
- - Vasya777   Предлагаю другой вариант Пользовательские классы ...   Mar 20 2013, 16:59


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 01:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016