built-in function

本文介绍了在使用MinGW编译器时遇到的C语言内置函数冲突问题,并提供了解决方案。当用户尝试重新实现某些标准库函数时,如strchr等,会遇到编译警告。文章详细解释了如何通过编译选项-fno-builtin或特定于函数的-fno-builtin-FUNCTION来禁用这些内置函数,从而避免冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在看linux内核剖析,想在windows下用mingw进行编译,可今天在编译string.c时出现一下提示

warning: conflicting types for built-in function 'strchr'

后来查了资料也弄明白,在C语言标准中,有些通用函数被定义为built-in function(内建函数),像printf,strchr,memset等等,这些函数不需要包含头文件中的声明,就可以编译连接该函数的。但有时候你想自己实现,就会出现冲突的提示。

解决办法:在编译是加上-fno-builtin或者-fno-builtin-FUNCTION 选项,你就可以自己实现这些函数而不冲突了。

例如在上面的提示中,你编译时加上-fno-builtin-strchr ,就可以正常编译了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值