clang ++和程序中的简单静态分配:与EXC_BAD_ACCESS崩溃

时间:2015-01-16 23:03:51

标签: c++ c++11 memory crash clang++

我写下了这个非常简单的C ++程序,我用clang ++使用以下命令编译它崩溃了:

clang++ -O3  test.cpp  -o test -g

源:

int main(int argc, char **argv)
{
    class TestVec3
    {
            public:
            TestVec3()  { x = y = z = 0; }
            float x, y, z;
    };

    TestVec3 colorBuffer[1000 * 1000];

    return 0;
}

当我使用llbb时,我得到:

* thread #1: tid = 0x2529bd, 0x0000000100000f40 perspprojmat`main [inlined] TestVec3 at ridiculous.cpp:8, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x7fff5f08e088)
frame #0: 0x0000000100000f40 perspprojmat`main [inlined] TestVec3 at ...
   5        class TestVec3
   6        {
   7            public:
-> 8            TestVec3()  { x = y = z = 0; }
   9            float x, y, z;
  10        };
  11    

我有一段时间没有编程,但这听起来很荒谬?我错过了哪些是显而易见的。如果我进行动态分配,它有效吗? (使用新的)。谢谢你的帮助。

0 个答案:

没有答案