diff --git a/core/cplusplus_operators.cpp b/core/cplusplus_operators.cpp new file mode 100644 index 0000000..86f4477 --- /dev/null +++ b/core/cplusplus_operators.cpp @@ -0,0 +1,25 @@ +/* Part of esp-open-rtos + * BSD Licensed as described in the file LICENSE + */ +#include +#include + +void *operator new(size_t size) +{ + return malloc(size); +} + +void *operator new[](size_t size) +{ + return malloc(size); +} + +void operator delete(void * ptr) +{ + free(ptr); +} + +void operator delete[](void * ptr) +{ + free(ptr); +} diff --git a/examples/cpp_01_tasks/main.cpp b/examples/cpp_01_tasks/main.cpp index cf751d6..160a0c8 100644 --- a/examples/cpp_01_tasks/main.cpp +++ b/examples/cpp_01_tasks/main.cpp @@ -26,7 +26,6 @@ * */ -#include "cpp_operators.hpp" #include "task.hpp" #include "queue.hpp" @@ -104,4 +103,4 @@ extern "C" void user_init(void) task_1.task_create("tsk1"); task_2.task_create("tsk2"); -} +} \ No newline at end of file diff --git a/extras/cplusplus/component.mk b/extras/cplusplus/component.mk new file mode 100644 index 0000000..3f5673d --- /dev/null +++ b/extras/cplusplus/component.mk @@ -0,0 +1,3 @@ +# Component makefile for extras/cplusplus + +INC_DIRS += $(ROOT)extras diff --git a/extras/cpp_support/include/cpp_operators.hpp b/extras/cpp_support/include/cpp_operators.hpp deleted file mode 100644 index bf006a8..0000000 --- a/extras/cpp_support/include/cpp_operators.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - * The MIT License (MIT) - * - * ESP8266 FreeRTOS Firmware - * Copyright (c) 2015 Michael Jacobsen (github.com/mikejac) - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * https://github.com/SuperHouse/esp-open-rtos - * - */ - -#ifndef ESP_OPEN_RTOS_CPLUSPLUS_HPP -#define ESP_OPEN_RTOS_CPLUSPLUS_HPP - -#include - -/****************************************************************************************************************** - * C++ new and delete operators - * - */ - -/** - * - * @param size - * @return - */ -inline void *operator new(size_t size) -{ - return malloc(size); -} -/** - * - * @param size - * @return - */ -inline void *operator new[](size_t size) -{ - return malloc(size); -} -/** - * - * @param ptr - */ -inline void operator delete(void * ptr) -{ - free(ptr); -} -/** - * - * @param ptr - */ -inline void operator delete[](void * ptr) -{ - free(ptr); -} - -#endif /* ESP_OPEN_RTOS_CPLUSPLUS_HPP */ -