Я использую Apple GCC 4.2.1 , и я наткнулся на странную проблему со следующим кодом ... Я всегда получаю исключение EXC_BAD_ACCESS при попытке инициализировать __ m128 переменная члена класса.К сожалению, следующий упрощенный код работает в тестовом приложении, но, может быть, вы все еще можете помочь мне найти корень этой проблемы?
Я не понимаю причину EXC_BAD_ACCESS исключения - __m128 тип не является указателем, и все другие MyClass члены инициализируются и доступны без каких-либо проблем, нет признаков повреждения стека / кучи, все работает, если я использую локальные переменные и нет проблемпод MSVC ... Может, что-то не так с выравниванием?
Пожалуйста, помогите!
class MyClass
{
public:
// lots of members
__m128 vect;
MyClass()
{
vect = _mm_setr_ps (0.f, 0.f, 0.f, 10.0f); // Program received signal: “EXC_BAD_ACCESS”.
}
void iniialize()
{
__m128 localVector = _mm_setr_ps (0.f, 0.f, 0.f, 10.0f); // No problems
vect = localVector; // Program received signal: “EXC_BAD_ACCESS”.
}
};