你负责维护一个大型的C程序,遇到下面的代码:
typedef struct{
int first;
a_struct a[CNT];
int last;
}b_struct;
void test(long i, b_struct *bp)
{
int n = bp->first+bp->last;
a_struct *ap = &bp->a[i];
ap->x[ap->idx] = n;
} 编译时常数CNT和结构a_structt的声明是在一个你没有访问权限的文件中。幸好,你有代码的‘.o’版本,可以用OBJDUMP程序来反汇编这些文件,得到下面的反汇编代码:
运用你的逆向工程技术,推断出下列内容:
A. CNT的值。
B. 结构a_struct的完整声明。假设这个结构中只有字段idx和x,并且这两个字段保存的都是有符号值。
