|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include <stdarg.h>#include <stddef.h>#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
safe_memory.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:结构体 | |
| struct | MemHeader |
宏定义 | |
| #define | ALIGNMENT LAMMP_MAX_ALIGN |
| #define | CHECK_OVERFLOW(ptr) check_memory_overflow(ptr, __func__, __LINE__) |
| #define | EXTRA_MEM_PATTERN 0xAA |
| #define | MEM_MAGIC 0xDEADBEEF |
| #define | SAFE_APPEND(...) |
函数 | |
| static size_t | align_up (size_t size) |
| static int | check_extra_memory_overflow (MemHeader *hdr, void *user_ptr, const char *check_func, int check_line) |
| static int | check_memory_block_integrity (MemHeader *hdr, void *user_ptr, const char *check_func, int check_line) |
| static int | check_memory_overflow (void *ptr, const char *func, int line) |
| static void | find_corruption_range (const char *data, unsigned char pattern, size_t len, int *first, int *last, int *count) |
| static void * | lmmp_alloc_debug (size_t size, const char *func, int line) |
| static void | lmmp_free_debug (void *ptr, const char *func, int line) |
| static void * | lmmp_realloc_debug (void *ptr, size_t new_size, const char *func, int line) |
| struct MemHeader |
在文件 safe_memory.h 第 30 行定义.
MemHeader 的协作图:| 成员变量 | ||
|---|---|---|
| size_t | extra_size | |
| const char * | func | |
| int | line | |
| uint32_t | magic | |
| size_t | total_size | |
| size_t | user_size | |
| #define ALIGNMENT LAMMP_MAX_ALIGN |
在文件 safe_memory.h 第 42 行定义.
| #define CHECK_OVERFLOW | ( | ptr | ) | check_memory_overflow(ptr, __func__, __LINE__) |
在文件 safe_memory.h 第 227 行定义.
| #define EXTRA_MEM_PATTERN 0xAA |
在文件 safe_memory.h 第 40 行定义.
| #define MEM_MAGIC 0xDEADBEEF |
在文件 safe_memory.h 第 39 行定义.
| #define SAFE_APPEND | ( | ... | ) |
|
inlinestatic |
在文件 safe_memory.h 第 43 行定义.
引用了 ALIGNMENT.
被这些函数引用 check_extra_memory_overflow(), check_memory_overflow(), lmmp_alloc_debug(), lmmp_free_debug() , 以及 lmmp_realloc_debug().
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 69 行定义.
引用了 align_up(), EXTRA_MEM_PATTERN, MemHeader::extra_size, find_corruption_range(), MemHeader::func, LAMMP_ERROR_OUT_OF_BOUNDS, LAMMP_MEMORY_MORE_ALLOC_TIMES, MemHeader::line, lmmp_abort(), SAFE_APPEND , 以及 MemHeader::user_size.
被这些函数引用 check_memory_block_integrity().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 114 行定义.
引用了 check_extra_memory_overflow(), LAMMP_ERROR_MEMORY_FREE_FAILURE, lmmp_abort(), MemHeader::magic , 以及 MEM_MAGIC.
被这些函数引用 check_memory_overflow(), lmmp_free_debug() , 以及 lmmp_realloc_debug().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 219 行定义.
引用了 align_up() , 以及 check_memory_block_integrity().
函数调用图:
|
inlinestatic |
在文件 safe_memory.h 第 46 行定义.
被这些函数引用 check_extra_memory_overflow().
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 134 行定义.
引用了 align_up(), EXTRA_MEM_PATTERN, MemHeader::extra_size, MemHeader::func, heap_alloc_func, LAMMP_ERROR_MEMORY_ALLOC_FAILURE, LAMMP_MEMORY_MORE_ALLOC_TIMES, MemHeader::line, lmmp_abort(), MemHeader::magic, MEM_MAGIC, MemHeader::total_size , 以及 MemHeader::user_size.
被这些函数引用 lmmp_realloc_debug().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 177 行定义.
引用了 align_up(), check_memory_block_integrity(), heap_free_func , 以及 MemHeader::total_size.
被这些函数引用 lmmp_realloc_debug().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 safe_memory.h 第 193 行定义.
引用了 align_up(), check_memory_block_integrity(), lmmp_alloc_debug(), lmmp_free_debug() , 以及 MemHeader::user_size.
函数调用图: