我对VxWorks内存管理有疑问。 我们的程序(使用c ++)使用的大型结构的大小超过470MB。 (我认识到这是特例。) 我在结构的底部添加了一个参数。并按功能输入值。 我使用“ printf”显示了此参数。 这是对的。但是我用内存转储显示了参数的地址,没有参数。 这是什么原因
struct {
double d[...][...];// big size over 470MB
int i; // add parameter;
} S_tmp;
S_tmp Stmp;
void function(int i) {
S_tmp.i = i;
printf("i=%d,address=%p\n",S_tmp.i,&S_tmp.i);
}
int main () {
function(2);
}
(shell输出)
i = 2,address = 0x12345678
d 0x12345678
0x12345678 00000000 00000000 00000000 ...
“我找不到书面价值(2)”