Цитата(KRS @ Jun 29 2011, 12:41)

а
#pragma inline=forced
пробовали?
и еще можно функцию как static определить, тогда ей не будет предаваться this как параметр.
Собственно говоря в вашей реализации все функции могут быть static
Все функции
static изначально. Переход к виду:
CODE
inline static unsigned char IO::Exchange(unsigned char x)
{
SPDR = x;
return SPI::WaitExchange();
};
Как и для варианта:
static unsigned char IO::Exchange(unsigned char x)
{
SPDR = x;
#pragma inline = forced
return SPI::WaitExchange();
};
дает на выходе для каждого вызова функции:
l
di R16,0x**
out SPDR,R16
rcall WaitExchangeчто отличается от того, что требуется.
Сообщение отредактировал IgorKossak - Jun 29 2011, 12:18
Причина редактирования: [codebox]