Как получить Offset поля в классе? Впринципе это вопрос общего назначения, но для уточнения, я пишу под WinAVR. При применении ассемблерных вставок в C++ для работы со структурами появляется необходимость взятия переменной относительно какого-то объекта (указателя), например: LDD R0, Y+OFFSET(T::i) Написал define: #define OFFSETT(Type, Item) ((int)(&((Type *)0)->Item)) Что впринципе и возврящает необходимую константу. В С++ такой прикол проканывает, в асме старого компилятора тоже, а в новом начинает через один ворчать, мол не константа это. Подскажите, может есть какие нибудь иные способы решения?
--------------------
Я могу ВСЁ, вопрос, сколько времени у меня это займет.
|