Следующий код компилируется без предупреждений (GCC -142.1 G ++ -Mavx -Ппеллиантично -wall ) и работает нормально (на GNU/Linux 6.13.2-Arch1-1):
Код: Выделить всё
#include
#include
int main() {
double* ptr = new double {};
double buf[4];
_mm256_storeu_pd(buf, _mm256_loadu_pd(ptr));
delete ptr;
std::printf("%e\n", buf[3]);
}
< /code>
Нет никаких сегментов. Асан (-fsanitize=addressМой вопрос больше похож на то, почему эта нагрузка разрешена (ядром? Разве это не дает мне доступ к памяти, которой я не владею?
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-segfault
Мобильная версия