Re[7]: доступ к элементам структуры
От: Максим2006 Беларусь  
Дата: 31.05.07 08:20
Оценка:
Здравствуйте, bookevg, Вы писали:

B>Здравствуйте, Максим2006, Вы писали:


М>>Здравствуйте, bookevg, Вы писали:


B>>>У меня арм-процессор с 32разр.шиной, посему поменял __int64 на __int32, при этом не работает доступ к элементам

М>>Скорее всего это из-за разных компиляторов. Я использовал VC++. Хак основан на том, что в этих компиляторах от MS указатель на мембер является смещением относительно this самого класса. У меня эти смещения, в нашем примере, для мемберов Status, Ready и Reg равны соответственно 0, 1 и 2. Скорее всего, в Вашем компиляторе это не так, поэтому pThis() возвращает неправильный адрес. Поэкспериментируйте, идея, я думаю, ясна.

B>А есть ли другой более элегатный способ получить указатель на StatusData, не зависящий от свойств компилятора?

Так чтоб на рантайме находить this нужного объекта, не знаю. Если узнаете, поделитесь обязательно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.