当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

内建宏和函数

__buildin_static_printf

void ___buildin_static_printf(char fmt[], ...);

静态格式化打印函数,编译期间执行,语法与标准C的printf相似,但要求所有参数必须是字面量(编译期间可计算出结果)。

__buildin_static_print

void ___buildin_static_print(...);

静态打印函数,编译期间执行,将所有参数转换成字符串进行打印,要求所有参数必须是字面量(编译期间可计算出结果)。

__buildin_static_errorf

void ___buildin_static_errorf(char fmt[], ...);

编译器报错并停止编译,同时具有___buildin_static_printf的打印功能。

__buildin_static_error

void ___buildin_static_error(...);

编译器报错并停止编译,同时具有___buildin_static_print的打印功能。

__buildin_printf

void __buildin_printf(char fmt[], ...);

编译器内建宏,功能同标准C语言的printf函数,编译时由编译器展开。
使用该宏需要对应的printf内建库支持(在工程配置选项->编译器标志->链接中输入-lprintf),同时用户需要提供void putchar(char)函数。
格式化字符串fmt必须为字符串字面量。
格式说明:

  1. 支持的格式:’c’, ‘d’, ‘u’, ‘x’, ‘X’, ‘s’;

  2. 支持’-‘左对齐:默认右对齐;

  3. 支持宽度:例如”%5d”;

  4. 支持数字前插入’0’:例如”%8x”;注意仅可用于格式’d’, ‘u’, ‘x’, ‘X’;

  5. 支持正负符号:默认需要时显示’-‘,使用’+’强制正数前显示’+’,使用’ ‘强制正数前保留一个空格;注意仅可用于格式’d’;

  6. 支持十六进制前缀:默认无前缀,使用’#’增加前缀”0x”;注意仅可用于格式’x’, ‘X’;

注意:__buildin_printf对ROM/RAM的消耗较大,可以在开发过程中使用,但不建议在最终的应用中保留。