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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
Kill100
404 / 270 / 37
Регистрация: 11.12.2010
Сообщений: 1,148
Завершенные тесты: 1
#1

Вылетает : R6010 - abort() has been called - C++

01.04.2013, 14:27. Просмотров 3487. Ответов 10
Метки нет (Все метки)

Написал программу которая перемножает 2 очень больших матрицы.
На мелких она работает. То есть 10000 на 10000 умножает без проблем.
Однако 15000x15000 и выше уже выбивают
: R6010 - abort() has been called
Грешил на тип. Так как матрицы типа int сменил на long ошибка осталась.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2013, 14:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вылетает : R6010 - abort() has been called (C++):

R6010 -abort() has been called - C++
Есть код: task_for_thread: void task_for_thread(const size_t idThread) { while (done.value == 1) {} // пусть крутятся тут...

Debug Error! R6010 - abort() has been called - C++
Помогите исправить ошибку #include <iostream> #include <fstream> using namespace std; int main(int argc, char * argv) { ...

r6010 - Abort() (тот самый Страуструпп) - C++
И так, след код, выдает мне АБОРТ, сразу после того как я введу показатели и нажму Энтер (прога считает площадь прямоугольника(Страуструпп...

Abort has been called при создании потока - C++
С помощью CreateRemoteThread запускаю новый поток, в котором примерно следующее: _mainLoop = std::thread(() { for (;;) { ...

Ошибка R6010 - C++
Из-за чего возникает такая ошибка как на скрине ? Вот код программы: #include<iostream> #include<string> using namespace std ; ...

R6010 - не понимаю, почему и что VS2010 хочет - C++
Разработать класс String: конструктор по умолчанию, позволяющий вводить строку 80 символов; конструктор, позволяющий вводить строку...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.04.2013, 14:31 #2
Kill100, код в студию. А вообще подобная ошибка встречалась при отсутствии конфига в нужном каталоге.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
01.04.2013, 14:35 #3
15000 * 15000 = 225 000 000
225 000 000 * 4(sizeof(int)) = 900 000 000 = ~900 MB
900 * 2 (матрицы) = ~1.8 GB

сколько RAM на машине?
Kill100
404 / 270 / 37
Регистрация: 11.12.2010
Сообщений: 1,148
Завершенные тесты: 1
01.04.2013, 14:43  [ТС] #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
900 * 2 (матрицы) = ~1.8 GB
сколько RAM на машине?
16gb. Так что в этом проблемы быть не может
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
01.04.2013, 14:45 #5
причин для abort() много, а дебажить пробовал?
Kill100
404 / 270 / 37
Регистрация: 11.12.2010
Сообщений: 1,148
Завершенные тесты: 1
01.04.2013, 14:47  [ТС] #6
Цитата Сообщение от Tulosba Посмотреть сообщение
Kill100, код в студию. А вообще подобная ошибка встречалась при отсутствии конфига в нужном каталоге.
Чел спс! Ты натолкнул меня 1 очень интересную мысль, проверил прога заработала.
В настройках проекта поставил платформу 64x. И всё пучком.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.04.2013, 14:48 #7

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
сколько RAM на машине?
главное чтоб на 16Гб RAM не было 32bit винды



Добавлено через 26 секунд
Цитата Сообщение от Kill100 Посмотреть сообщение
В настройках проекта поставил платформу 64x.
Ч.Т.Д
Kill100
404 / 270 / 37
Регистрация: 11.12.2010
Сообщений: 1,148
Завершенные тесты: 1
01.04.2013, 16:54  [ТС] #8
Рано радовался.
Теперь при построении стало писать
array_on_vector.cpp(129): warning : C6386: Переполнение буфера при записи в "Return_Vektor": доступный для записи объем равен "len_vector_m*4" байт, однако записать можно только "8" байт.
array_on_vector.cpp(132): warning : C6385: Чтение недопустимых данных из "Return_Vektor": доступный для чтения объем равен "len_vector_m*4" байт, однако считать можно только "8" байт.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.04.2013, 16:57 #9
Kill100, код-то покажешь или нет?
Kill100
404 / 270 / 37
Регистрация: 11.12.2010
Сообщений: 1,148
Завершенные тесты: 1
01.04.2013, 16:58  [ТС] #10
А всё отбой нашел описание
http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
long* Multiply(long* vectors, long len_vector_m, long** mass, long mass_n)
{
    long* Return_Vektor = new long[len_vector_m];//а надо было mass_n
    for(long i=0; i<mass_n; i++)
    {
        Return_Vektor[i]=0;//обнуляем значение
        for (long j=0; j<len_vector_m; j++)
        {
            Return_Vektor[i]+=mass[i][j]*vectors[j];//умножение вектора на столбцы
        }
    }
    return Return_Vektor;//возвращая результат
}
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
01.04.2013, 17:03 #11
Цитата Сообщение от Kill100 Посмотреть сообщение
А всё отбой нашел описание
http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
long* Multiply(long* vectors, long len_vector_m, long** mass, long mass_n)
{
    long* Return_Vektor = new long[len_vector_m];//а надо было mass_n
    for(long i=0; i<mass_n; i++)
    {
        Return_Vektor[i]=0;//обнуляем значение
        for (long j=0; j<len_vector_m; j++)
        {
            Return_Vektor[i]+=mass[i][j]*vectors[j];//умножение вектора на столбцы
        }
    }
    return Return_Vektor;//возвращая результат
}
попробуй long long вместо long
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 17:03
Привет! Вот еще темы с ответами:

Ошибка R6010 при запуске отладки. VS2012 - C++
Добрый день. Запускаю отладку следующего кода: #include &quot;opencv\cv.h&quot; #include &quot;opencv\highgui.h&quot; #include &lt;stdlib.h&gt; #include...

функция abort() - C++
тестирую сигнал SIGABRT который генерируется функцией abort() функция abort() дает сбой debug error! см. вложение. среда MVStudio...

Правильное использование throw и abort - C++
Всем привет, тут такой вопрос возник: когда я хочу прервать программу, я могу воспользоваться exit(0), но он перед завершением должен...

Std::mutex выдает исключение abort() при попытки unlock() - C++
до создания потока блокирую mutex, создаю поток и опять блокирую mutex, поток снимает блок и мы едем дальше, но выкидывает исключение... ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.04.2013, 17:03
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru