APM:Libraries
libraries
AP_Common
c++.cpp
Go to the documentation of this file.
1
//
2
// C++ runtime support not provided by Arduino
3
//
4
// Note: use new/delete with caution. The heap is small and
5
// easily fragmented.
6
7
#include <
AP_HAL/AP_HAL.h
>
8
#include <stdlib.h>
9
10
/*
11
globally override new and delete to ensure that we always start with
12
zero memory. This ensures consistent behaviour.
13
*/
14
void
*
operator
new
(
size_t
size)
15
{
16
if
(size < 1) {
17
size = 1;
18
}
19
return
(
calloc
(size, 1));
20
}
21
22
void
operator
delete
(
void
*p)
23
{
24
if
(p)
free
(p);
25
}
26
27
void
*
operator
new
[](
size_t
size)
28
{
29
if
(size < 1) {
30
size = 1;
31
}
32
return
(
calloc
(size, 1));
33
}
34
35
void
operator
delete
[](
void
* ptr)
36
{
37
if
(ptr)
free
(ptr);
38
}
AP_HAL.h
calloc
void * calloc(size_t nmemb, size_t size)
Definition:
malloc.c:76
free
void free(void *ptr)
Definition:
malloc.c:81
Generated on Sun Jun 17 2018 14:18:47 for APM:Libraries by
1.8.13