首先列出網上百度到比較好的blog:
blog1:https://blog.csdn.net/super_demo/article/details/32131379
總結了代碼中可能因為幾種初級或者粗心引起的錯誤。
blog2:https://blog.csdn.net/zhizuwei/article/details/86017618
總結了因為C和C++代碼混合調用引起的未定義錯誤。
但是在排查時,以上兩種方法都不行。首先,排除blog1里面出現的幾類錯誤,其次,我發現在另外一個工程,使用同樣的代碼,同樣的調用方式(但是工程使用的文件不一樣),編譯的時候沒有錯誤。
最終采用一個簡單粗暴的方法,刪除原來的.c文件,重建一個同名.c文件,把原來文件的所有內容復制過來。
重新編譯,問題解決(其實還是不知道怎么就好了)。