This is a port of the mruby/c tutorial Chapter 03 to the mbed environment.

Dependencies:   mbed

For details, refer to the following.

http://www.s-itoc.jp/activity/research/mrubyc/mrubyc_tutorial/436

Note:There is a change in rtt0.h from the original source in the mruby/c. It was necessary for inclusion in C ++ source.

Committer:
tk_takateku
Date:
Wed Feb 15 01:03:35 2017 +0000
Revision:
0:33feccbba3ff
Commit before publishing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tk_takateku 0:33feccbba3ff 1 /*! @file
tk_takateku 0:33feccbba3ff 2 @brief
tk_takateku 0:33feccbba3ff 3 mrubyc memory management.
tk_takateku 0:33feccbba3ff 4
tk_takateku 0:33feccbba3ff 5 <pre>
tk_takateku 0:33feccbba3ff 6 Copyright (C) 2015 Kyushu Institute of Technology.
tk_takateku 0:33feccbba3ff 7 Copyright (C) 2015 Shimane IT Open-Innovation Center.
tk_takateku 0:33feccbba3ff 8
tk_takateku 0:33feccbba3ff 9 This file is distributed under BSD 3-Clause License.
tk_takateku 0:33feccbba3ff 10
tk_takateku 0:33feccbba3ff 11 Memory management for objects in mruby/c.
tk_takateku 0:33feccbba3ff 12
tk_takateku 0:33feccbba3ff 13 </pre>
tk_takateku 0:33feccbba3ff 14 */
tk_takateku 0:33feccbba3ff 15
tk_takateku 0:33feccbba3ff 16 #ifndef MRBC_SRC_ALLOC_H_
tk_takateku 0:33feccbba3ff 17 #define MRBC_SRC_ALLOC_H_
tk_takateku 0:33feccbba3ff 18
tk_takateku 0:33feccbba3ff 19 #include <stdint.h>
tk_takateku 0:33feccbba3ff 20 #include "vm.h" // for mruby/c
tk_takateku 0:33feccbba3ff 21
tk_takateku 0:33feccbba3ff 22 #ifdef __cplusplus
tk_takateku 0:33feccbba3ff 23 extern "C" {
tk_takateku 0:33feccbba3ff 24 #endif
tk_takateku 0:33feccbba3ff 25
tk_takateku 0:33feccbba3ff 26 void mrbc_init_alloc(void);
tk_takateku 0:33feccbba3ff 27 uint8_t *mrbc_raw_alloc(uint32_t size);
tk_takateku 0:33feccbba3ff 28 uint8_t *mrbc_raw_realloc(uint8_t *ptr, uint32_t size);
tk_takateku 0:33feccbba3ff 29 void mrbc_raw_free(void *ptr);
tk_takateku 0:33feccbba3ff 30
tk_takateku 0:33feccbba3ff 31 void mrbc_alloc_debug(void);
tk_takateku 0:33feccbba3ff 32
tk_takateku 0:33feccbba3ff 33 // for mruby/c
tk_takateku 0:33feccbba3ff 34 uint8_t *mrbc_alloc(mrb_vm *vm, int size);
tk_takateku 0:33feccbba3ff 35 uint8_t *mrbc_realloc(mrb_vm *vm, void *ptr, int size);
tk_takateku 0:33feccbba3ff 36 void mrbc_free(mrb_vm *vm, void *ptr);
tk_takateku 0:33feccbba3ff 37 void mrbc_free_all(mrb_vm *vm);
tk_takateku 0:33feccbba3ff 38
tk_takateku 0:33feccbba3ff 39 #ifdef __cplusplus
tk_takateku 0:33feccbba3ff 40 }
tk_takateku 0:33feccbba3ff 41 #endif
tk_takateku 0:33feccbba3ff 42 #endif
tk_takateku 0:33feccbba3ff 43