我在Linux环境中为mips处理器工作
我正在尝试声明一个全局变量,并且该全局变量在内存中分配。 但我想在声明自己的同时初始化该全局变量,并且我试过,该变量正在被分配,但它没有使用提供的值进行初始化。 如何在声明自身时初始化全局变量。 帮助我。
我试过这种方式..
//global variable
volatile int x =10;
main(){
int y;
y =x;
wr(0x9000_0000,x);
wr(0x9000_0004,y);
}
输出:
x variable= undefined value ('X')
y variable = undefined value ('X')
当我尝试将“x”变量值写入内存位置时,我看不到值“10”。
在声明自己的同时初始化全局变量时,我是否需要格外小心。
如果我在任何一个函数中初始化全局变量它正常工作。
//global variable
volatile int x ;
main(){
int y;
x =15;
y=x;
wr(0x9000_0000,x);
wr(0x9000_0000,y);
}
输出:
x variable =15;
y variable =15;
提前致谢。
答案 0 :(得分:0)
我在MIPS盒子上试过这个程序:
#include <stdio.h>
volatile int x = 10;
int main (int argc , char * argv []) {
int y = x + 1;
printf ("%d %d\n", x, y);
return 0;
}
正如所料,它会打印10 11
。
你的问题必须在别处。