ReAl (15.06.2007 12:28, просмотров: 1) ответил ReAl на Версия, ключи, ... ? У меня avr-gcc нормально откомпилировал.
И инициализация, и присваивание в функции нормально. <c>typedef struct
{
int i;
volatile unsigned short pwm[8];
} Status;
Status status;
volatile unsigned short* ptr_pwm = status.pwm;
void foo(void)
{
ptr_pwm = status.pwm;
}
</c>
avr-gcc 4.1.1
avr-gcc -O2 -S -mmcu=atmega8
<asm>
.global foo
.type foo, @function
foo:
/* prologue: frame size=0 */
/* prologue end (size=0) */
ldi r24,lo8(status+2)
ldi r25,hi8(status+2)
sts (ptr_pwm)+1,r25
sts ptr_pwm,r24
/* epilogue: frame size=0 */
ret
/* epilogue end (size=1) */
/* function foo size 7 (6) */
.size foo, .-foo
.global ptr_pwm
.data
.type ptr_pwm, @object
.size ptr_pwm, 2
ptr_pwm:
.word status+2
.comm status,18,1
</asm>