У меня возник вопрос к уважаемым авторам scmRTOS. Суть его в следующем, зачам нужен глобальный объект Kernel класса TKernel?
Ядро в системе присутствует в единственном экземпляре, других объектов класса TKernel нет и непланируется. При этом каждое обращение вида: Kernel.someField или Kernel.someFunction() приводят к загрузке указателя this, и далеко не всегда компилятор может от него избавиться.
Я провёл небольшой эксперимент: объявил все данные и функции члены TKernel статическими и соответственно изменил обращение к ним с Kernel. на TKernel::. Вся функциональность при этом естественно сохраняется, а размер кода несколько уменьшяатся (от 32 до 150 байт в зависимости от приложения в версии для AVR). Что может быть существенно.
Так вот есть ли (или был ли) какой нибудь сакральный смысл Kernel как таковом?