|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||||||||||||
Невыводимое сообщение про badalloc07.03.2015, 19:15. Показов 2156. Ответов 32
Метки нет (Все метки)
Вылетает с сообщеним std::badalloc.
Не вылетает с сообщеним std::badalloc. и завершается успешно
________________________________________ __ Но при этом вылетает если пробовать обойти весь массив.
Всего 8ГБ, 4,40ГБ свободно, Win7x64, gnu gcc
0
|
||||||||||||||||
| 07.03.2015, 19:15 | |
|
Ответы с готовыми решениями:
32
И снова про PopupMenu (было про длину, теперь про ширину)
Создать файл с информацией о студентах, вывести сообщение про студентов по возрастанию их балла за сессию |
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 07.03.2015, 20:50 [ТС] | |
|
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 07.03.2015, 20:52 | |
|
1
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 07.03.2015, 20:58 [ТС] | |
|
Чего-то здесь не сходится с суждениями.
Ну или я черезчур тупой.(не исключаю)
0
|
|
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
| 07.03.2015, 20:59 | |
|
1
|
|
| 07.03.2015, 21:12 [ТС] | |
|
Не по теме: Я про size_t понял так, что этот size_t имеет отношение к моему посту с цитатой из Прата. Т.е. ситуация такая, когда константа-таки не довыделяется на столько насколько требуется. Поэтому там мне посоветовали указать соответствующий размер.
0
|
|
|
Модератор
13792 / 10984 / 6492
Регистрация: 18.12.2011
Сообщений: 29,285
|
||||||
| 07.03.2015, 21:22 | ||||||
|
А ведь действительно
0
|
||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||||||||||
| 07.03.2015, 21:39 [ТС] | |||||||||||
|
Убежденный, Хорошо, что Вы меня направляете на путь истинный, благодаря Вам я сейчас что-то еще узнал (причем действительно полезное). Но, Вам не кажется, что мой вопрос имеет отношение немного к другому?
1200000000000 не влазит в size_t твоего компилятора. В результате переполнения получается 1704124416. а 1000000000000 влазит что ли?)) _____________________ У меня не вопрос: "Почему ошибка". У меня вопрос: "Почему в аналогичной ситуации две различные реакции программы". В одном случае вылет с сообщением о BadAlloc, во втором случае просто вылет _________ (с тем к чему пришли про size_t) В одном случае вылет с badalloc Во втором случае все окей Ведь судя из возвращаемого значения new должно получаться size_t и в первом и во втором случаях. Может это кто-то пояснить? вылет с badalloc
0
|
|||||||||||
|
Ушел с форума
|
||||||||
| 07.03.2015, 22:02 | ||||||||
Сообщение было отмечено daslex как решение
РешениеВыражение "type * p = new type[count]" на двоичном уровне так или иначе приходит к вызову функции выделения памяти размером как минимум "sizeof (type) * count" байт. В обоих приведенных случаях значение count, как мы уже выяснили, не влезает в тип size_t и поэтому "выдает себя за другого". В итоге 1000000000000 превращается в 3567587328, а 1200000000000 превращается в 1704124416. Дальше происходит еще одно переполнение. А именно: размер uint64_t - 8 байт, поэтому конструкция "uint64_t * p = new uint64_t[3567587328]" приводит к попытке выделения 3567587328 * 8 = 2770894848 байт (да-да, такая вот арифметика). Не знаю, как в других операционках, но в 32-битных процессах Windows выделить порядка двух гигов непрерывной памяти практически невозможно. Отсюда и std::bad_alloc в первом примере. Во втором примере немного по-другому: 1704124416 * 8 = 748093440, меньше одного гигабайта. Да, много, но система выделить может. Поэтому здесь std::bad_alloc нет. Пример для иллюстрации написанного выше (Visual C++ 2008 SP1, Win32):
2
|
||||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 07.03.2015, 22:04 [ТС] | |
|
Вот это я и хотел узнать. Спасибо.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||||
| 07.03.2015, 23:22 [ТС] | ||||||||
|
Сразу же я привожу пример где я пытаюсь это изобразить, но у меня на это ноль реакции. Не получилось - значит не хватает знаний. Не хватает знаний - значит не умею.
из Прата
0
|
||||||||
| 07.03.2015, 23:46 [ТС] | |
|
Не по теме: Тема другая нужна. Это ведь другой вопрос. Если я сам не разберусь, спрошу :) Мне пока что это не нужно.
0
|
|
| 07.03.2015, 23:46 | |
|
Про ШИМ в роли ЦАП и про АЦП на примере резистивного датчика Версии Делфи 10 и 7. Можно где-то почитать про их особенности, про совместимость?
моя первая плата, хедеры - вопрос про eagle или про пайку разное про работу инвертора, трансформатора + про esr Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|