__io_putchar() 和 __io_getchar() 定义在哪个文件中?
Posted
技术标签:
【中文标题】__io_putchar() 和 __io_getchar() 定义在哪个文件中?【英文标题】:In what file are __io_putchar() and __io_getchar() defined? 【发布时间】:2021-08-29 20:37:40 【问题描述】:我注意到 STM32F407-DISC 项目(通过 STM32CubeIDE 制作)的 syscalls.c
文件具有 __io_putchar()
和 __io_getchar()
作为外部变量。
但我无法在项目中找到实际定义这些函数的任何文件。
这就是 syscalls.c
文件中的内容:
extern int __io_putchar(int ch) __attribute__((weak));
extern int __io_getchar(void) __attribute__((weak));
有谁知道这些外部人员是从哪个文件中提取的?
提前致谢!
【问题讨论】:
【参考方案1】:它们在标准库中。所以你的项目中没有代码。您需要下载(克隆)STMCubeIDE工具链使用的标准库实现的源代码。
只需编写您自己的,它们就会用弱链接替换那些。
【讨论】:
以上是关于__io_putchar() 和 __io_getchar() 定义在哪个文件中?的主要内容,如果未能解决你的问题,请参考以下文章
\_\_setitem\_\_和\_\_getitem和\_\_delitem__
描述符(\_\_get\_\_和\_\_set\_\_和\_\_delete\_\_)