Utility.cpp 969 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "utils/Utility.h"
  2. static Core::ExitHandler exitHandler = nullptr;
  3. static void* exitData = nullptr;
  4. void* operator new(size_t bytes) noexcept {
  5. return malloc(bytes);
  6. }
  7. void* operator new[](size_t bytes) noexcept {
  8. return malloc(bytes);
  9. }
  10. void operator delete(void* p) noexcept {
  11. free(p);
  12. }
  13. void operator delete[](void* p) noexcept {
  14. free(p);
  15. }
  16. void operator delete(void* p, size_t bytes) noexcept {
  17. (void)bytes;
  18. free(p);
  19. }
  20. void operator delete[](void* p, size_t bytes) noexcept {
  21. (void)bytes;
  22. free(p);
  23. }
  24. void* operator new(size_t bytes, void* p) noexcept {
  25. (void)bytes;
  26. return p;
  27. }
  28. /*void* operator new[](size_t bytes, void* p) noexcept {
  29. (void)bytes;
  30. return p;
  31. }*/
  32. void Core::exitWithHandler(int value) {
  33. if(exitHandler != nullptr) {
  34. exitHandler(value, exitData);
  35. }
  36. exit(value);
  37. }
  38. void Core::setExitHandler(ExitHandler eh, void* data) {
  39. exitHandler = eh;
  40. exitData = data;
  41. }