Box2D 2.4: невозможно переопределить поведение по умолчанию с помощью user_settings.h [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Box2D 2.4: невозможно переопределить поведение по умолчанию с помощью user_settings.h [закрыто]

Сообщение Anonymous »

Резюме
Я отредактировал встроенную функцию в заголовочном файле статической библиотеки, но внесенные изменения, похоже, не влияют на выполнение программы.
Моя цель
Я пытаюсь создать 2D-игру и использую Box2D в качестве физического движка. Я хочу настроить поведение распределения памяти Box2D в соответствии с тем, как моя игра управляет памятью. Я пытаюсь сделать это, используя предполагаемый метод Box2D 2.4, настраивая b2_user_settings.h.
b2_user_settings.h
Много аспекты поведения Box2D описаны в файле b2_settings.h. Сюда входят такие вещи, как длительность одной единицы расстояния в моделировании, функции распределения и освобождения памяти, а также регистрация коллизий. Функции записаны как встроенные функции в этом файле. Например, функция распределения памяти выглядит следующим образом:

Код: Выделить всё

/// Implement this function to use your own memory allocator.
inline void* b2Alloc(int32 size)
{
return b2Alloc_Default(size);
}

/// If you implement b2Alloc, you should also implement this function.
inline void b2Free(void* mem)
{
b2Free_Default(mem);
}
Некоторые версии Box2D позволяют разработчикам настраивать это поведение, добавляя файл с именем b2_user_settings.h. Этот файл по большей части представляет собой копию b2_settings.h, которую программист затем редактирует для реализации желаемого пользовательского поведения. Вернувшись в b2_settings.h, директива условного препроцессора проверяет наличие защиты #include, определенной в b2_user_settings.h, и, если она уже определена, включает b2_user_settings.h и исключает настройки по умолчанию, определенные в остальной части файла b2_settings.h.
Моя реализация
Box2D
Я использую Box2D 2.4.2. В своем проекте я уже скомпилировал Box2D в статическую библиотеку. Затем я добавил свою версию b2_user_settings.h в каталог include, где расположены другие файлы заголовков Box2D.
Мой b2_user_settings.h РедактируетЯ переопределил код выделения и освобождения памяти Box2D, а также функцию регистрации:

Код: Выделить всё

/// Implement this function to use your own memory allocator.
inline void* b2Alloc(int32 size)
{
using namespace Game;
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79127776/box2d-2-4-cant-override-default-behavior-with-user-settings-h[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»