[an error occurred while processing this directive]
|
выравнивает данные по четному адресу. Я как-то писал программу для контроллера, который обменивался с персоналкой данными - для контроля длины посылки (весь ли пакет принят) я использовал функцию sizeof(struct ...). Ничего поделать нельзя было - выравнивает каждую переменную в структуре. Пришлось заменять однобайтовые переменные на двубайтовые (а переделывал я программу с 51-го процессора, поэтому пришлось и программу для персоналки менять).
Ну и еще одна штука - в этом компиляторе указатель на данные должен обязательно указывать на четный адрес! Я вот написал программку, в которой сам "подстроил" указатель, чтобы он указывал на нечетный адрез. И попробовал сосчитать что-то по этому указателю. C-SPY как заругается - нельзя и все тут ! :-(((
E-mail: info@telesys.ru