如何在Linux环境中声明mips时初始化全局变量

时间:2014-08-13 05:27:49

标签: gcc mips

我在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;

提前致谢。

1 个答案:

答案 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

你的问题必须在别处。