warning: incompatible implicit declaration of built-in function ‘xyz’

       今天寫一個程序的時候出現瞭如下錯誤:

        written_amount.c: In function ‘do_one_group’:

written_amount.c:33:3: warning: incompatible implicit declaration of built-in function ‘strcat’
written_amount.c:41:3: warning: incompatible implicit declaration of built-in function ‘strcat’
written_amount.c:45:3: warning: incompatible implicit declaration of built-in function ‘strcat’
written_amount.c: In function ‘written_amount’:

written_amount.c:55:3: warning: incompatible implicit declaration of built-in function ‘strcpy’


自己由於大意沒發現原因,搜了下原來是缺少了頭文件。先把搜的結果如下:

In C, using a previously undeclared function constitutes an implicit declaration of the function. In an implicit declaration, the return type is int if I recall correctly. Now, GCC has built-in definitions for some standard functions. If an implicit declaration does not match the built-in definition, you get this warning.

To fix the problem, you have to declare the functions before using them; normally you do this by including the appropriate header. I recommend not to use the -fno-builtin-* flags if possible.





發佈了47 篇原創文章 · 獲贊 7 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章