編者按:複製別人的**到linux中執行,在編譯時出錯——錯誤:錯誤提示如下:程式中有游離的『\302』
——查詢資料後獲取解決方法,在此做乙個記錄。
read.c:164:6: 錯誤: 程式中有游離的『\302』
read.c:164:6: 錯誤: 程式中有游離的『\302』
read.c:164:6: 錯誤: 程式中有游離的『\302』
read.c:164:6: 錯誤: 程式中有游離的『\302』
此類錯誤不是並不是程式**的問題,而是程式中某一些字元(如空格,換行符等)的編碼格式不正確導致。就像在c語言編譯器中使用了中文狀態下的括號就會出錯一樣。
只要將這些游離的字元刪除,或者替換成編碼格式正確的字元即可。
這裡用到sed命令。
將read.c檔案中的八進位制字元』\302』替換為空
sed -i "s/\o302//g" read.c
#\o指定用8進製編碼
對sed命令有興趣請轉至 :linux sed命令詳解
參考:————————————————
c編譯時的錯誤:程式中有游離的『\240』『\302』『\*** 時解決方案
linux sed 替換、刪除檔案中的某個字串
編譯出錯的可能情況
編譯器的一部分工作是尋找程式文字中的錯誤。編譯器沒有能力檢查乙個程式是否 按照其作者的意圖工作,但可以檢查形式 form 上的錯誤。下面列出了一些最常見的 編譯器可以檢查出的錯誤。語法錯誤 syntax error 程式設計師犯了c 語言文法上的錯誤。下面程式展示了一些常 見的語法錯誤 每條注釋描述...
莫名其妙的編譯出錯
今天真是遇到鬼了,之前好好的專案,做了些許修改,在debug下一切正常,但在release下無法通過編譯,明顯是某標頭檔案沒有被包含進來。我到出問題的cpp裡再次包含這個標頭檔案,編譯通過了。但絲毫沒有讓我覺得放鬆,問題還得找!我懷疑是某些空格或者換行出了問題,但一行一行處理之後問題不但沒有解決,反...
首次核心編譯出錯,更改路徑的方法
root ubuntu forlinx linux 2.6.36.2 make zimage make arm linux gcc command not found chk include linux version.h chk include generated utsrelease.h mak...