Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2

Программа завершается с ошибкой Killed

20.02.2014, 15:30. Показов 7731. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа завершается с ошибкой Killed, когда я выделяю очень много динамической памяти, но меньше чем есть в наличии всей памяти. Как исправить эту ошибку?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2014, 15:30
Ответы с готовыми решениями:

Программа завершается с ошибкой, подскажите почему
Вводится координата шахматной доски где распологается конь, это координата при выводе обозначается "К",клетки которые бьет конь...

Программа аварийно завершается с ошибкой "map/set iterators are incompatible"
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в...

Собранное приложение завершается с ошибкой
Здравствуйте. Подскажите пожалуйста новичку. Взял приложение из учебника, переписал в Visual Studio, собрал, а оно выкидывает. Приложение...

14
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
20.02.2014, 15:51
Цитата Сообщение от programina Посмотреть сообщение
но меньше чем есть в наличии всей памяти.
а политика распределения памяти какая стоит?
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.02.2014, 16:01
Цитата Сообщение от programina Посмотреть сообщение
Как исправить эту ошибку?
Показать код для начала.
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
20.02.2014, 16:18  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Показать код для начала
Если ввести 999999999999999999, то напишет что-то про bad alloc, а если поменьше, например 222222222222222222, то просто killed
C++
#include <stdio.h>
#include <locale.h>
#include <math.h>
 
 
int moo()
{
    setlocale(LC_ALL, "Russian");
 
    char s[1628400];
    int a[7];
    int k = 0;
    int n = 0;
    printf("Введите число n: ");
    scanf("%s", s);
 
    for(int i = 0; i < 7; i++)
        if(s[i] >= '0' && s[i] <= '9'){
            a[k] = s[i]-'0';
            k++;
        }
 
    for(int i = 0; i < k; i++)
        n += a[k-i-1] * pow10(i);
 
    printf("Вы ввели число %d\n\n", n);
 
    return n;
}
 
 
int main(int argc, char *argv[])
{
    const int N = moo();
 
 
    float **x = new float*[N];
    for(int i = 0; i < N; i++) x[i] = new float[N];
    printf("Память выделена\n");
 
 
    for(int i = 0; i < N; i++)
        for(int j = 0; j < N; j++)
            x[i][j] = 0.0;
 
 
    for(int i = 0; i < N; i++) delete [] x[i];
    delete [] x;
    printf("Память освобождена\n");
}
Добавлено через 28 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
а политика распределения памяти какая стоит?
Не знаю.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
20.02.2014, 16:28
Лучший ответ Сообщение было отмечено programina как решение

Решение

Скорее всего, прибивает ядро. Больше вроде некому.
1. Узнать pid процесса.
2. Посмотреть в логи (/var/log/syslog).
3. Найти сообщение в духе "Out of memory: Kill process <pid>"
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.02.2014, 16:36
Ты вводишь число в виде строки потому что оно очень большое и не помещается в int, а потом преобразуешь его в int в надежде на то что оно туда поместится?
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
20.02.2014, 16:43  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Скорее всего, прибивает ядро. Больше вроде некому
Тоже склоняюсь к такому варианту, потому что на виндовсе всегда bad alloc пишет.
Цитата Сообщение от castaway Посмотреть сообщение
Ты вводишь число в виде строки потому что оно очень большое и не помещается в int, а потом преобразуешь его в int в надежде на то что оно туда поместится?
Мне так и нужно, например пользователь введет какую-нибудь ерунду вместо числа, а программа преобразует эту ерунду в число с максимум 7-ю цифрами.
0
20.02.2014, 16:46

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Мне так и нужно, например пользователь введет какую-нибудь ерунду вместо числа, а программа преобразует эту ерунду в число с максимум 7-ю цифрами.
Если пользователь ввел ерунду, то лучше сообщить ему об этом и не делать вообще ничего. А то получается, что он пытался вводить одни данные, а программа по какой-то своей логике решила работать на других.

1
20.02.2014, 16:48

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
а программа по какой-то своей логике решила работать на других.
программ(ин)е лучше знать, что хочет пользователь :)

0
20.02.2014, 16:51  [ТС]

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
Если пользователь ввел ерунду, то лучше сообщить ему об этом и не делать вообще ничего. А то получается, что он пытался вводить одни данные, а программа по какой-то своей логике решила работать на других.
Я думаю, что не стоит ничего сообщать пользователю, потому что если он на запрос "Введите число" вводит ерунду, то он либо в невменяемом состоянии, либо издевается над програмой.

0
20.02.2014, 16:52

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
если он на запрос "Введите число" вводит ерунду, то он либо в невменяемом состоянии, либо издевается над програмой
Последнее вполне уместно, особенно если в графе "должность" значится "Специалист по тестированию ПО".

0
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
21.02.2014, 19:54
Подскажите пожалуйста, как модернизировать командную строку до того терминала, что на скрин-шоте?
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
21.02.2014, 20:06  [ТС]
BESSON_off, просто установите линукс. Там терминал по умолчанию красивее, чем в виндовсе.
0
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
21.02.2014, 21:00
Цитата Сообщение от programina Посмотреть сообщение
просто установите линукс
а в окнах подобного не придумать?
0
21.02.2014, 21:15  [ТС]

Не по теме:

Цитата Сообщение от BESSON_off Посмотреть сообщение
а в окнах подобного не придумать?
Врядли. Даже если есть то скорее всего не очень качественное. Посмотрите в гугле по запросу "Terminal Emulator for Windows", может повезет и найдете что-нибудь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2014, 21:15
Помогаю со студенческими работами здесь

Не прогружаются каскады haarcascade_frontalface_alt.xml в Visual Studio 2010. OpenCV. Завершается с ошибкой 1
Все форумы перечитала, много вариантов испробовала, но результата никакого. Подскажите кто сталкивался с подобной проблемой. Код взят...

Не завершается программа
После ввода массива консоль не закрывается, почему? #include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;stdlib.h&gt; #include...

Программа не завершается
Здравствуйте! 1) Моя программа на первом же тесте превышает положенное время (она не долго работает, она просто не завершается)....

Программа сразу завершается
Здравствуйте! Я написал программу с конфигурацией решения Release, при запуске exe-файла программа тут же закрывается, а то что она выводит...

программа завершается аварийно
запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru