MtFmt 1.0.0
MtFmt is a format library on embed. system and wrote by pure C.
载入中...
搜索中...
未找到
宏定义 | 函数
mm_cfg.h 文件参考

配置选项 更多...

#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)
 取得构建配置
 

详细描述

配置选项

作者
向阳 (hinat.nosp@m.a.ho.nosp@m.shino.nosp@m.@fox.nosp@m.mail..nosp@m.com)
版本
1.0
日期
2023-05-17

宏定义说明

◆ _MSTR_BUILD_DLL

#define _MSTR_BUILD_DLL   0

指定是否使用动态库构建

◆ _MSTR_RUNTIME_CTRLFLOW_MARKER

#define _MSTR_RUNTIME_CTRLFLOW_MARKER   1

指定是否使用unreachable等标记来标记控制流

◆ _MSTR_RUNTIME_HEAP_ALIGN

#define _MSTR_RUNTIME_HEAP_ALIGN   4

指定堆分配的对齐值

◆ _MSTR_RUNTIME_HEAP_TRACING

#define _MSTR_RUNTIME_HEAP_TRACING (   type,
  ptr,
  size,
  old_size 
)    ((void)0U)

指定heap tracing

注解
该宏定义的函数拥有原型 (type: int, ptr: void*, size: usize, old_size: usize_t) -> (), 其会在分配和释放时调用。type: 0=alloc, 1=realloc, 2=free; size为操作大小, alloc时表示分配的大小, realloc表示ptr新的大小, free时表示释放的大小, old_size记录了realloc时曾经ptr的大小, 其余时候无效
注意
该宏仅在内建分配器上被使用

◆ _MSTR_USE_ALLOC

#define _MSTR_USE_ALLOC   1

指定是否使用内存分配 (默认启用)

◆ _MSTR_USE_CPP_EXCEPTION

#define _MSTR_USE_CPP_EXCEPTION   1

指定是否使用异常 (默认打开)

◆ _MSTR_USE_FP

#define _MSTR_USE_FP   (_MSTR_USE_FP_FLOAT32 || _MSTR_USE_FP_FLOAT64)

是否有float的支持

◆ _MSTR_USE_FP_FLOAT32

#define _MSTR_USE_FP_FLOAT32   0

指定是否使用float32

◆ _MSTR_USE_FP_FLOAT64

#define _MSTR_USE_FP_FLOAT64   0

指定是否使用float64

◆ _MSTR_USE_HARDWARE_DIV

#define _MSTR_USE_HARDWARE_DIV   0

指定是否使用硬件除法指令 (关闭)

◆ _MSTR_USE_MALLOC

#define _MSTR_USE_MALLOC   0

是否使用malloc替代自带的分配器

◆ _MSTR_USE_STD_IO

#define _MSTR_USE_STD_IO   0

指定是否使用stdout这些标准io操作 (默认不启用)

◆ _MSTR_USE_UTF_8

#define _MSTR_USE_UTF_8   1

指定是否启用UTF-8支持

◆ mstr_assert

#define mstr_assert (   e)    ((void)0U)

◆ mstr_bounding_check

#define mstr_bounding_check (   expr)    ((void)0U)

◆ MSTR_BUILD_CC

#define MSTR_BUILD_CC   MSTR_BUILD_CC_OTHER

◆ MSTR_BUILD_CC_ARMCC

#define MSTR_BUILD_CC_ARMCC   0x3

表示使用armcc编译

◆ MSTR_BUILD_CC_ARMCLANG

#define MSTR_BUILD_CC_ARMCLANG   0x4

表示使用armcc (ac6)编译

◆ MSTR_BUILD_CC_EMSCRIPTEN

#define MSTR_BUILD_CC_EMSCRIPTEN   0x5

表示使用WASM

◆ MSTR_BUILD_CC_GNUC

#define MSTR_BUILD_CC_GNUC   0x2

表示使用gnuc编译

◆ MSTR_BUILD_CC_MSVC

#define MSTR_BUILD_CC_MSVC   0x1

表示使用msvc编译

◆ MSTR_BUILD_CC_OTHER

#define MSTR_BUILD_CC_OTHER   0xf

表示使用其它的编译器编译

◆ mstr_cause_exception

#define mstr_cause_exception (   code)    ((void)0U)

◆ MSTR_CONFIGURE_CC_VAL

#define MSTR_CONFIGURE_CC_VAL (   c)    (((c) >> 12) & 0xf)

取得使用的编译器版本

◆ MSTR_CONFIGURE_CFG_VAL

#define MSTR_CONFIGURE_CFG_VAL (   c)    ((c)&0xfff)

取得构建配置

◆ MSTR_CONFIGURE_VER_VAL

#define MSTR_CONFIGURE_VER_VAL (   c)    (((c) >> 16) & 0xffff)

取得库版本信息

◆ MSTR_EXPORT_API

#define MSTR_EXPORT_API (   ret)     MSTR_EXPORT_MANGLE __attribute__((visibility("default"))) ret

◆ MSTR_EXPORT_MANGLE

#define MSTR_EXPORT_MANGLE   extern

◆ MSTR_MEM_REALLOC_FUNCTION_NOT_AVAL

#define MSTR_MEM_REALLOC_FUNCTION_NOT_AVAL   0

重新分配函数可用

◆ mstr_unreachable

#define mstr_unreachable ( )    ((void)0U)

◆ MSTRCFG_BUILD_DLL_BIT

#define MSTRCFG_BUILD_DLL_BIT   0x02

构建使用了 _MSTR_BUILD_DLL

◆ MSTRCFG_BUILD_HARDWARE_DIV

#define MSTRCFG_BUILD_HARDWARE_DIV   0x04

标记是否使用了硬件除法 _MSTR_USE_HARDWARE_DIV

◆ MSTRCFG_USE_ALLOCATOR

#define MSTRCFG_USE_ALLOCATOR   0x100

标记是否使用了分配器 _MSTR_USE_ALLOC

◆ MSTRCFG_USE_CXX_EXCEPTION

#define MSTRCFG_USE_CXX_EXCEPTION   0x20

标记是否使用了CXX异常 _MSTR_USE_CPP_EXCEPTION

◆ MSTRCFG_USE_FLOAT32

#define MSTRCFG_USE_FLOAT32   0x40

标记是否使用了float支持 _MSTR_USE_FP_FLOAT32

◆ MSTRCFG_USE_FLOAT64

#define MSTRCFG_USE_FLOAT64   0x80

标记是否使用了float64支持 _MSTR_USE_FP_FLOAT64

◆ MSTRCFG_USE_MALLOC_BIT

#define MSTRCFG_USE_MALLOC_BIT   0x01

构建使用了 _MSTR_USE_MALLOC

◆ MSTRCFG_USE_STD_IO

#define MSTRCFG_USE_STD_IO   0x08

标记是否使用了stdio _MSTR_USE_STD_IO

◆ MSTRCFG_USE_UTF_8

#define MSTRCFG_USE_UTF_8   0x10

标记是否使用了UTF-8 _MSTR_USE_UTF_8

函数说明

◆ MSTR_EXPORT_API()

MSTR_EXPORT_API ( uint32_t  )

取得构建配置

返回
构建配置