warning: conflicting types for built-in function 'puts'
2016-07-25 15:23
274 查看
warning: conflicting types for built-in function 'puts'
【编译器版本】arm-linux-gcc 3.4.1
【问题描述】
在做嵌入式底层开发时,自己写了一个puts函数,也就是通过串口发送字符串到超级终端。但在编译程序的时候出现了如下问题:
warning: conflicting types for built-in function 'puts'
【问题分析】
在C语言标准中,有些通用函数被定义为built-in function(内建函数),像printf,puts,strchr,memset等等,这些函数不需要包含头文件中的声明,就可以编译连接该函数的。但有时候你想自己实现,就会出现上面所示的冲突提示。
有的时候你不用包含一些头文件,也能使用那个里面包含的函数,可能是编译器包含了一些常用的简单的函数的处理,即便是你不包含头文件,编译器也知道到哪里找,但是如果是一些复杂的函数,或者是你自己写的静态库,你想使用时必须要包含;仅仅只是一些简单的函数你不用包含头文件而已。
【解决办法】
1.在编译是加上-fno-builtin或者-fno-builtin-FUNCTION 选项,你就可以自己实现这些函数而不冲突了。例如在上面的提示中,你编译时加上-fno-builtin-puts ,就可以正常编译了。
2.把这些函数改个名称,以便不冲突。
转自:http://blog.csdn.net/ce123/article/details/8187298
相关文章推荐
- iOS8 UICollectionView横向滑动demo
- Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
- luigi学习2-在hadoop上运行Top Artists
- android studio -build
- Android进阶UI之5.0——过渡动画
- HDU 3836 Equivalent Sets (tarjan求强联通分量)
- Java Programming Test Question 2
- java中execute executeUpdate executeQuery的区别
- 判断VIEW是否还在显示
- Java Programming Test Question 1
- EasyUI - 关于datagrid的idField的注意事项
- ue4 socket
- IOS中表视图(UITableView)使用详解
- [树状数组 逆序对] poj 2299 Ultra-QuickSort
- (一)通用工具之同步队列(sync_queue)
- SQLiteDataBase对象的query()接口:
- GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean
- 父view中添加手势子view不响应的问题解决
- Reveal UI 分析工具简单使用
- LeetCode 之Distinct Subsequences