
OSDEV: Разработка аллокатора на С++ часть 5. osdev-libstdc
GNU_Dimarik 10 минут назад OSDEV: Разработка аллокатора на С++ часть 5. osdev-libstdc Простой 1 мин 52 C * C++ * Обзор Приветствую!Это обзорная статья на этот раз совсем простая. Используется уже написанный аллокатор. Я...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: GNU_Dimarik 10 минут назад OSDEV: Разработка аллокатора на С++ часть 5. osdev-libstdc Простой 1 мин 52 C * C++ * Обзор Приветствую!
Это обзорная статья на этот раз совсем простая. Используется уже написанный аллокатор.
Технические детали
Я лишь ставлю в известность читателей о существовании в osdev-libstdc вполне стандартных функций aligned_alloc, malloc, calloc, realloc и free. Их реализация примитивна: __MAYBE_BEGIN_STD_NAMESPACE void *aligned_alloc(size_t alignment, size_t size) { __STD_NAMESPACE::lock_guard g(gLock); return mem_malloc_aligned(alignment, size); } void *calloc(size_t num, size_t size) { __STD_NAMESPACE::lock_guard g(gLock); return mem_calloc(num, size); } void free(void *ptr) { __STD_NAMESPACE::lock_guard g(gLock); mem_free(ptr); } void *malloc(size_t size) { __STD_NAMESPACE::lock_guard g(gLock); return mem_malloc(size); } void *realloc(void *ptr, size_t new_size) { __STD_NAMESPACE::lock_guard g(gLock); return mem_realloc(ptr, new_size); }Думаю на этом я могу поставить жирную точку на реализации аллокатора для malloc для свой ОС.
Дальше уже пишем ABI с частями libcxxrt. Думаю даже demangler приделается без проблем с такой osdev-libstdc ...
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.



