【发布时间】:2018-04-15 15:11:18
【问题描述】:
我正在窥探我的 MSP430 微控制器的头文件,我在<setjmp.h> 中遇到了这个问题:
/* r3 does not have to be saved */
typedef struct
{
uint32_t __j_pc; /* return address */
uint32_t __j_sp; /* r1 stack pointer */
uint32_t __j_sr; /* r2 status register */
uint32_t __j_r4;
uint32_t __j_r5;
uint32_t __j_r6;
uint32_t __j_r7;
uint32_t __j_r8;
uint32_t __j_r9;
uint32_t __j_r10;
uint32_t __j_r11;
} jmp_buf[1]; /* size = 20 bytes */
我知道它声明了一个匿名结构并将 typedef 定义为 jmp_buf,但我无法弄清楚 [1] 的用途。我知道它声明 jmp_buf 是一个包含一个成员(这个匿名结构的)的数组,但我无法想象它的用途。有什么想法吗?
【问题讨论】:
-
可能与衰减成指针有关?
-
最后的评论似乎完全错误......
标签: c struct reverse-engineering declaration typedef