Я записал эту очень простую программу на 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
Я давно не программировал, но это звучит просто смешно? Чего мне не хватает, это очевидно. Если я делаю динамическое размещение, это работает? (с использованием нового). Спасибо за вашу помощь.
float
составляет четыре байта) в стеке с этим массивом, это намного больше, чем стандартный стек практически в любой системе (который обычно находится на территории с однозначным числом), - person Some programmer dude   schedule 17.01.2015ulimit -s
- person Brett Hale   schedule 17.01.2015