|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|||||||||||
Своя реализация malloc, calloc, realloc10.02.2024, 13:02. Показов 4465. Ответов 44
Доброго времени суток. Данные функции не работают подскажите в чем может быть дело. UB необработанные исключения и прочее в зависимости от фазы луны.
Походу я где-то туплю. Заранее благодарен за помощь.
0
|
|||||||||||
| 10.02.2024, 13:02 | |
|
Ответы с готовыми решениями:
44
Можно ли выделять память под объект класса с помощью функций calloc, malloc или realloc?
Использование calloc/realloc/free |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 12.02.2024, 12:28 | |||
|
https://learn.microsoft.com/en... w=msvc-170
Тут больше вопрос к автору, откуда у него этот огрызок?
0
|
|||
|
Вездепух
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
|
||
| 12.02.2024, 12:43 | ||
_alloca, которую забыли исправить), и все на самом все работает совсем не так.Во-вторых, мое описание поведения этого макроса в #14 основано на исходном тексте этого макроса, приведенного в вопросе, а не на MSDN. То есть что там написано в MSDN уже никакой роли не играет. О каком "MSDN" может вообще идти речь, когда я уже сказал свое слово? (Когда я писал #14, я еще даже и не знал, что это майкрософтовский макрос.)
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 12.02.2024, 13:47 | ||
)
0
|
||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|||||||
| 12.02.2024, 14:37 [ТС] | |||||||
|
вот заберите свои слова назад:
Второе на форуме задаются вопросы если есть необходимость в помощи а свое мнение держите при себе
0
|
|||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 12.02.2024, 15:24 | |||
|
И без ТЗ (технического задания) вам никто не поможет. зюыю и мне сообщи, я буду очень рад Добавлено через 1 минуту Signum7, Не по теме: Ах да, мнение своё держи при себе
0
|
|||
|
Вездепух
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
|
||
| 12.02.2024, 19:16 | ||
|
0
|
||
|
6771 / 3138 / 1065
Регистрация: 01.06.2021
Сообщений: 12,189
|
|||
| 12.02.2024, 20:44 | |||
|
Добавлено через 28 секунд
0
|
|||
|
Вездепух
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
|
||
| 12.02.2024, 20:55 | ||
|
Во-вторых, а что такое вообще "закрытый код" в языковой библиотеке С++? Ну, допустим, саму библиотеку можно поставлять в откомпилированном виде, но заголовочные файлы-то никак "закрыть" не получится. Соответственно то, что должно определяться в заголовочных файлах - макросы, шаблоны, инлайны и т.п. - всегда будет открытым. Понятно, что теоретически стандартные заголовки - это не файлы, а что угодно, но в реальной жизни-то все по-прежнему реализуется обычными файлами. В данном случае мы имеем дело с макросом. Как можно "закрыть" макрос?
0
|
||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|||||||||||
| 14.02.2024, 17:30 [ТС] | |||||||||||
|
немного подумав решил сделать простейший аллокатор памяти, если запрашиваемый размер меньше определенного размера используется массив байт в противном случае используется куча. вот пример класса:
0
|
|||||||||||
|
274 / 206 / 30
Регистрация: 26.11.2022
Сообщений: 910
|
||
| 14.02.2024, 21:02 | ||
|
Или мысли какие по этому поводу высказать ?
0
|
||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|
| 14.02.2024, 22:21 [ТС] | |
|
0
|
|
|
Вездепух
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
|
||
| 14.02.2024, 22:43 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
||||||
| 14.02.2024, 23:15 [ТС] | ||||||
|
полный вариант тестового класса он не доделан пока
0
|
||||||
|
274 / 206 / 30
Регистрация: 26.11.2022
Сообщений: 910
|
||
| 14.02.2024, 23:21 | ||
|
вот мысли вслух:
1) непонятно какая задача решалась - вы смешали обычный линейный аллокатор и обёртку для malloc. притом совершенно непонятно как работающую. И это самая большая проблема этого кода. даже складывается ощущение что этот код для проверки знаний студентов - дескать расскажите что он делает. сразу скажу логику работы даже не смотрел - ибо непонимаю как это должно работать. остальное - мелочи что режут глаз: 2)отсутствует выравниваение результата - соответственно если в выделенную в массиве память будут писать simd инструкции то будет fatal error )) и ловить это очень трудно и неудобно. 3)зачем std::atomic ? если вы делаете хотите в многопоток но пока неумеете - поэтому не нужен он тут сейчас.
0
|
||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
||||||||
| 15.02.2024, 11:44 [ТС] | ||||||||
|
переписал так, правильно ?
0
|
||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 15.02.2024, 14:11 | |||
|
По итогу, масло маслянное, вода мокрая, а твой код непотребство... Добавлено через 3 минуты Ну обратно, к чему этот аллокатор ? Его практическое использование - нулевое. Что бы правильно выбирать подобные аллокаторы и их использовать, одни из методов, использовать полиморфизм, что, как мы знаем, понижает производительность. То есть для подобного аллокатора нужно не только желание его создать, но также и аргмуентация, которую мы не увидели.
0
|
|||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|
| 15.02.2024, 14:12 [ТС] | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 15.02.2024, 14:16 | |||
|
Потому что ваш код - ужасен, сам по себе.
0
|
|||
|
1 / 1 / 0
Регистрация: 30.03.2017
Сообщений: 141
|
|||
| 15.02.2024, 14:17 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||||
| 15.02.2024, 14:30 | ||||||||||
|
Так а зачем для этого аллокатор ??? - Форматирование кода. - явные использования constexp без понимания что это и для чего он нужен. - Про атомарики вам уже сказали.
Тогда мы имеем бесконечную рекурсию. Нет? Там ещё много подобного, не только стиль, вы создаете путанный код, потом в нем путаетесь. Как бы специально загоняете себя в беличье колесо... Добавлено через 2 минуты Без предварительного анализа пытаться делать подобную оптимизация - не имеет смысла.
0
|
||||||||||
| 15.02.2024, 14:30 | |
|
malloc vs. calloc calloc vs malloc Malloc / calloc Как string создает строку?(calloc, malloc) malloc, realloc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|