配置选项 更多...
#include <stdint.h>
宏定义 | |
#define | MSTR_BUILD_CC_MSVC 0x1 |
表示使用msvc编译 | |
#define | MSTR_BUILD_CC_GNUC 0x2 |
表示使用gnuc编译 | |
#define | MSTR_BUILD_CC_ARMCC 0x3 |
表示使用armcc编译 | |
#define | MSTR_BUILD_CC_ARMCLANG 0x4 |
表示使用armcc (ac6)编译 | |
#define | MSTR_BUILD_CC_EMSCRIPTEN 0x5 |
表示使用WASM | |
#define | MSTR_BUILD_CC_OTHER 0xf |
表示使用其它的编译器编译 | |
#define | MSTR_BUILD_CC MSTR_BUILD_CC_OTHER |
#define | _MSTR_BUILD_DLL 0 |
指定是否使用动态库构建 | |
#define | _MSTR_USE_ALLOC 1 |
指定是否使用内存分配 (默认启用) | |
#define | _MSTR_USE_UTF_8 1 |
指定是否启用UTF-8支持 | |
#define | _MSTR_USE_STD_IO 0 |
指定是否使用stdout这些标准io操作 (默认不启用) | |
#define | _MSTR_USE_MALLOC 0 |
是否使用malloc替代自带的分配器 | |
#define | _MSTR_RUNTIME_HEAP_ALIGN 4 |
指定堆分配的对齐值 | |
#define | MSTR_MEM_REALLOC_FUNCTION_NOT_AVAL 0 |
重新分配函数可用 | |
#define | _MSTR_RUNTIME_HEAP_TRACING(type, ptr, size, old_size) ((void)0U) |
指定heap tracing | |
#define | _MSTR_USE_CPP_EXCEPTION 1 |
指定是否使用异常 (默认打开) | |
#define | _MSTR_RUNTIME_CTRLFLOW_MARKER 1 |
指定是否使用unreachable等标记来标记控制流 | |
#define | _MSTR_USE_HARDWARE_DIV 0 |
指定是否使用硬件除法指令 (关闭) | |
#define | _MSTR_USE_FP_FLOAT32 0 |
指定是否使用float32 | |
#define | _MSTR_USE_FP_FLOAT64 0 |
指定是否使用float64 | |
#define | _MSTR_USE_FP (_MSTR_USE_FP_FLOAT32 || _MSTR_USE_FP_FLOAT64) |
是否有float的支持 | |
#define | mstr_unreachable() ((void)0U) |
#define | mstr_bounding_check(expr) ((void)0U) |
#define | mstr_cause_exception(code) ((void)0U) |
#define | mstr_assert(e) ((void)0U) |
#define | MSTR_EXPORT_MANGLE extern |
#define | MSTR_EXPORT_API(ret) MSTR_EXPORT_MANGLE __attribute__((visibility("default"))) ret |
#define | MSTRCFG_USE_MALLOC_BIT 0x01 |
构建使用了 _MSTR_USE_MALLOC | |
#define | MSTRCFG_BUILD_DLL_BIT 0x02 |
构建使用了 _MSTR_BUILD_DLL | |
#define | MSTRCFG_BUILD_HARDWARE_DIV 0x04 |
标记是否使用了硬件除法 _MSTR_USE_HARDWARE_DIV | |
#define | MSTRCFG_USE_STD_IO 0x08 |
标记是否使用了stdio _MSTR_USE_STD_IO | |
#define | MSTRCFG_USE_UTF_8 0x10 |
标记是否使用了UTF-8 _MSTR_USE_UTF_8 | |
#define | MSTRCFG_USE_CXX_EXCEPTION 0x20 |
标记是否使用了CXX异常 _MSTR_USE_CPP_EXCEPTION | |
#define | MSTRCFG_USE_FLOAT32 0x40 |
标记是否使用了float支持 _MSTR_USE_FP_FLOAT32 | |
#define | MSTRCFG_USE_FLOAT64 0x80 |
标记是否使用了float64支持 _MSTR_USE_FP_FLOAT64 | |
#define | MSTRCFG_USE_ALLOCATOR 0x100 |
标记是否使用了分配器 _MSTR_USE_ALLOC | |
#define | MSTR_CONFIGURE_VER_VAL(c) (((c) >> 16) & 0xffff) |
取得库版本信息 | |
#define | MSTR_CONFIGURE_CC_VAL(c) (((c) >> 12) & 0xf) |
取得使用的编译器版本 | |
#define | MSTR_CONFIGURE_CFG_VAL(c) ((c)&0xfff) |
取得构建配置 | |
函数 | |
MSTR_EXPORT_API (uint32_t) mstr_configure(void) | |
取得构建配置 | |
配置选项
#define _MSTR_BUILD_DLL 0 |
指定是否使用动态库构建
#define _MSTR_RUNTIME_CTRLFLOW_MARKER 1 |
指定是否使用unreachable等标记来标记控制流
#define _MSTR_RUNTIME_HEAP_ALIGN 4 |
指定堆分配的对齐值
#define _MSTR_RUNTIME_HEAP_TRACING | ( | type, | |
ptr, | |||
size, | |||
old_size | |||
) | ((void)0U) |
指定heap tracing
#define _MSTR_USE_ALLOC 1 |
指定是否使用内存分配 (默认启用)
#define _MSTR_USE_CPP_EXCEPTION 1 |
指定是否使用异常 (默认打开)
#define _MSTR_USE_FP (_MSTR_USE_FP_FLOAT32 || _MSTR_USE_FP_FLOAT64) |
是否有float的支持
#define _MSTR_USE_FP_FLOAT32 0 |
指定是否使用float32
#define _MSTR_USE_FP_FLOAT64 0 |
指定是否使用float64
#define _MSTR_USE_HARDWARE_DIV 0 |
指定是否使用硬件除法指令 (关闭)
#define _MSTR_USE_MALLOC 0 |
是否使用malloc替代自带的分配器
#define _MSTR_USE_STD_IO 0 |
指定是否使用stdout这些标准io操作 (默认不启用)
#define _MSTR_USE_UTF_8 1 |
指定是否启用UTF-8支持
#define mstr_assert | ( | e | ) | ((void)0U) |
#define mstr_bounding_check | ( | expr | ) | ((void)0U) |
#define MSTR_BUILD_CC MSTR_BUILD_CC_OTHER |
#define MSTR_BUILD_CC_ARMCC 0x3 |
表示使用armcc编译
#define MSTR_BUILD_CC_ARMCLANG 0x4 |
表示使用armcc (ac6)编译
#define MSTR_BUILD_CC_EMSCRIPTEN 0x5 |
表示使用WASM
#define MSTR_BUILD_CC_GNUC 0x2 |
表示使用gnuc编译
#define MSTR_BUILD_CC_MSVC 0x1 |
表示使用msvc编译
#define MSTR_BUILD_CC_OTHER 0xf |
表示使用其它的编译器编译
#define mstr_cause_exception | ( | code | ) | ((void)0U) |
#define MSTR_CONFIGURE_CC_VAL | ( | c | ) | (((c) >> 12) & 0xf) |
取得使用的编译器版本
#define MSTR_CONFIGURE_CFG_VAL | ( | c | ) | ((c)&0xfff) |
取得构建配置
#define MSTR_CONFIGURE_VER_VAL | ( | c | ) | (((c) >> 16) & 0xffff) |
取得库版本信息
#define MSTR_EXPORT_API | ( | ret | ) | MSTR_EXPORT_MANGLE __attribute__((visibility("default"))) ret |
#define MSTR_EXPORT_MANGLE extern |
#define MSTR_MEM_REALLOC_FUNCTION_NOT_AVAL 0 |
重新分配函数可用
#define mstr_unreachable | ( | ) | ((void)0U) |
#define MSTRCFG_BUILD_DLL_BIT 0x02 |
构建使用了 _MSTR_BUILD_DLL
#define MSTRCFG_BUILD_HARDWARE_DIV 0x04 |
标记是否使用了硬件除法 _MSTR_USE_HARDWARE_DIV
#define MSTRCFG_USE_ALLOCATOR 0x100 |
标记是否使用了分配器 _MSTR_USE_ALLOC
#define MSTRCFG_USE_CXX_EXCEPTION 0x20 |
标记是否使用了CXX异常 _MSTR_USE_CPP_EXCEPTION
#define MSTRCFG_USE_FLOAT32 0x40 |
标记是否使用了float支持 _MSTR_USE_FP_FLOAT32
#define MSTRCFG_USE_FLOAT64 0x80 |
标记是否使用了float64支持 _MSTR_USE_FP_FLOAT64
#define MSTRCFG_USE_MALLOC_BIT 0x01 |
构建使用了 _MSTR_USE_MALLOC
#define MSTRCFG_USE_STD_IO 0x08 |
标记是否使用了stdio _MSTR_USE_STD_IO
#define MSTRCFG_USE_UTF_8 0x10 |
标记是否使用了UTF-8 _MSTR_USE_UTF_8
MSTR_EXPORT_API | ( | uint32_t | ) |
取得构建配置