Diab Compiler,它是否自动优化数组和结构初始化?

时间:2015-10-14 16:40:44

标签: c compiler-optimization

您好,

我使用Diab 5.8.0作为我的C源代码的编译器。 我已经认识到如果我有这样的程序:

    typedef struct
    {
        int field_1;
        int field_2;
        int field_3;

    } Struct_Type;

    int main()
    {

    Struct_Type  temp_st = {1,1,1};

    return temp_st.field_1;

    }

似乎转换为此(返回值为0而不是1)

    typedef struct
    {
        int field_1;
        int field_2;
        int field_3;

    } Struct_Type;

    int main()
    {

    Struct_Type  temp_st;

    return temp_st.field_1;

    }

阵列初始化存在同样的问题,

此:

    int main()
    {   

    int array[3]={1,1,1};  

    return array[0];  

    }

转换为:

    int main()
    {   

    int array[3];  

    return array[0];  

    }

我认为问题来自Diab Compiler的优化,因此我在编译代码时不使用任何optimize-flag,但问题仍然存在。

如果你知道这个和解决方案的根本原因,如果我想在声明中初始化struct和array的值,你能帮助我吗?

0 个答案:

没有答案