built-in function

最近在看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 ,就可以正常編譯了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章