Форум программистов, компьютерный форум CyberForum.ru

Не работает деструктор и ошибка при использовании SSE-команд. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считывание с файла http://www.cyberforum.ru/cpp-beginners/thread385777.html
Нужно считать с текстового файла числа не зная их количество, вроде не сложно, но как не пробую считывает бред какой то. Кто нить помогите, надо срочно
C++ Проверить, соблюдается ли равенство открывающихся и закрывающихся скобок Всем добрый день) вот такая задача привела меня в ступор: "Проверить, соблюдается ли равен¬ство открывающихся и закрывающихся скобок. Если равенство соблюдается, то вывести соответствующее сообщение, в противном случае вывести количество открывающихся и закрывающихся скобок. ((ln|sinx|)^(1/3))/((e^(a+b)) + 1) " кто знает прошу помочь,заранее спасибо) http://www.cyberforum.ru/cpp-beginners/thread385774.html
C++ процедурные функции
описать процедуру Bell(A,N),меняющую порядок элементов массива A размера N на следущие: наимньший элемент массива распологается на первом мнсте, наименьший из оставшихся элементов на последнем, следующий по величине располагается на втором месте, следующий на предпоследнем ит.д.(в резултате график будет напоминать колокол). массив A является входным и выходным параметром. с помощю этой процедуры...
C++ Функции и файлы в C++
Для хранения данных о ноутбуках описать структуру вида (при необходимости дополнить ее): struct NOTEBOOK { struct disp_res { // разрешающая способность дисплея int x; // по горизонтали int y; // по вертикали
C++ Разность произвольных чисел http://www.cyberforum.ru/cpp-beginners/thread385740.html
Как решить разность произвольных чисел? Длинная арифметика. Есть пример "Сумма двух положительных чисел" её надо переделать в разность, которую я не могу сделать. :( #include <iostream> #include <string> using namespace std; int a , b, c; void vvod(int a) { int i, len; string s; cin>>s; len=s.length(); a=len;
C++ Залипающие манипуляторы У меня следующий вопрос. До каких пор эти манипуляторы (например setfill) залипают? Имеется в виду следующее. Допустим я в некоторой функции воспользовался одним из таких залипающих манипуляторов. Функция завершилась. А вот теперь продолжится ли залипание или на этом конец. Грубо говоря, какова область залипания этих манипуляторов? Заодно, если можно поясните плиз, вот этот объекты cout и ... подробнее

Показать сообщение отдельно
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
17.11.2011, 11:09     Не работает деструктор и ошибка при использовании SSE-команд.
Цитата Сообщение от pr0z Посмотреть сообщение
__m128* pm1 = (__m128*)m1.a;
Так нельзя делать. Данные должны быть выровнены на границу 16 байт.

Цитата Сообщение от pr0z Посмотреть сообщение
a = new _declspec(align(16)) float[n*n]
Вот честно признаюсь, первый раз такую запись вижу. Сейчас погуглю, но по моему в интернете кто-то не прав.
Хотя бы объявление тогда такое сделай: __declspec(align(16)) float *a

Т.е. есть выделение памяти в виде функции, которая выделяет на сколько-то байт больше, чем нужно для выравнивания и возвращает указатель не на начало выделенной области, а на выровненный блок в этой области. Немного сдвинуто от начала. Соответственно и при удалении нужно использовать не указатель на начало выровненной памяти, а несколько "левее". Повторюсь, new с выравниванием я вижу впервые, но не сомневаюсь, что и указатель нужно делать выровненным. Типы должны совпадать всё таки.

Добавлено через 59 секунд
_aligned_malloc и _aligned_free я функции использовал, когда выровненные данные нужны были. Про new надо погуглить...

Добавлено через 4 минуты
Вот что по этому поводу думает Майкрософт: http://msdn.microsoft.com/ru-ru/library/83ythb65.aspx

o create an array whose base is properly aligned, use _aligned_malloc, or write your own allocator. Note that normal allocators, such as malloc, C++ operator new, and the Win32 allocators return memory that will most likely not be sufficiently aligned for __declspec(align(#)) structures or arrays of structures.
 
Текущее время: 22:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru