alignment
От: stalcer Россия  
Дата: 29.01.04 08:18
Оценка:
Для полей структур выполняется ли следующее:

struct A {
    int i;
    int j;
};

A a;


Можно ли утверждать, что адрес &a.j == ((char*)&a) + sizeof(int), где под sizeof(int) подразумевается место занимаемое полем i (не критикуйте здесь за возможное undefined behavour, важен смысл).

Если нет, то как вычислить адрес j, зная количество и типы полей в структуре.

Дело в том, что Oracle генерирует подобные структуры утилитой, а потом их можно передавать в оракловскую функцию которая принимает void*, т.е. получается что в этой функции Oracle определяет адреса полей, используя только мета-информацию из системной базы данных. А вот как он это делает?

Речь идет не вообще об alignment, а именно о полях структур.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.