沧桑小草 发表于 2022-8-29 20:29

GCC环境用printf打印

一般我们在KEIL中用printf实现串口打印时,只要包含stdio.h头文件,然后重新实现fputc函数即可,如附图一:

但在GCC环境中,我们需要实现的底层函数就不是fputc函数了,而是_write函数,如附图二:


需要注意的是:
      printf后面添加 \n或者在printf之后使用fflush(stdout),来立即刷新输出流。
      否则printf不会输出任何数据,而且会被后来的正确发送的printf数据覆盖。
      这是因为printf的数据流在扫描到 \n之前都会被保存在缓存中,直到 \n出现或是fflush(stdout)强制刷新才会输出数据。

Afanx 发表于 2022-8-30 18:44

学习了

everyrobin 发表于 2022-9-3 17:12

printf()函数是格式化输出函数

uiint 发表于 2022-9-3 18:22

如何使用gcc跟踪函数调用

elsaflower 发表于 2022-9-3 19:20

gcc printf(“中文”)为什么出来会是乱码

touser 发表于 2022-9-3 20:19

链接的是动态库 libc.so.6   

yeates333 发表于 2022-10-5 17:03

arm-gcc 可以调用printf吗

weifeng90 发表于 2022-10-5 17:05

有些IDE不能兼容

robincotton 发表于 2022-10-5 17:29

找出bug位置,一般使用printf()

timfordlare 发表于 2022-10-5 18:15

用printf输入中文 gcc后输出中文乱码

bestwell 发表于 2022-10-5 18:44

如何使用GCC生成动态库和静态库
页: [1]
查看完整版本: GCC环境用printf打印