国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

源程序采用UNICODE編碼時GCC編譯器會發(fā)出null character(s) ignored警告

2019-11-11 03:20:20
字體:
來源:轉載
供稿:網(wǎng)友

        將一個只用到標準庫函數(shù)的 C 程序在 Windows 平臺上用 VS 2010 編譯,沒有出任何問題。再將它放到 64 位 CentOS 6.8 下,用 GCC 編譯它,接收到一大堆警告和錯誤報告,如下圖:

        其中大部分是“null character(s) ignored”警告,還有一些像stray '***' 這樣的錯誤。經(jīng)過調(diào)查發(fā)現(xiàn),原因在于在 Windows 平臺上用文本編輯器保存這個 C 程序時,因為在其中用中文寫了一些注釋,保存時將編碼設置為了 UNICODE,但是 GCC 編譯器不能識別 UNICODE 編碼格式的源文件,就會產(chǎn)生如上圖所示的警告和錯誤。(注意: UNICODE 本身是一個很大的概念,包含 UTF-8、UTF-16、UTF32。但 Windows 平臺上的 UNICODE 實質(zhì)上是指 UTF-16 編碼,linux 平臺上通常采用 UTF-8 編碼。)

        由于只是想讓這個 C 程序在 CentOS 6.8 上能執(zhí)行,并不需要在 Linux 下編輯它,所以最簡單的解決方法就是在 Windows 平臺上用文本編輯器(比如 Notepad、Notepad++ 等)將這個 C 程序的源文件轉換成 ASCII 編碼或 UTF-8 編碼。從 Windows 7 開始,自帶的記事本 Notepad 在“另存為”時都允許用戶選擇編碼方式。如下圖所示:

        于是只需用記事本將原來的 C 程序另外保存一份,編碼選擇 ASNI 或 UTF-8 都可以,接下來將新保存的文件拿到 CentOS 6.8 下用 GCC 編譯。此時程序就能順利地被編譯,GCC 不再報告警告和錯誤了。

        Windows 下的 Visual Studio 能夠很好地自動識別源程序的編碼方式,經(jīng)過實驗后發(fā)現(xiàn):將上面的 C 程序文件以 ANSI、Unicode、Unicode big endian、UTF-8 四種編碼方式分別保存,在 VS 2010 中分別編譯,都能夠成功編譯,不會像 GCC 那樣產(chǎn)生警告和錯誤。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善左旗| 南汇区| 班戈县| 青河县| 西乌| 天门市| 武穴市| 绥滨县| 屏边| 金门县| 河北省| 中方县| 小金县| 裕民县| 浦县| 雷州市| 海丰县| 织金县| 昆明市| 泰安市| 怀来县| 台北市| 曲水县| 永靖县| 新和县| 福贡县| 邵东县| 固安县| 内江市| 靖江市| 金沙县| 宕昌县| 通辽市| 阳江市| 永川市| 尼勒克县| 岢岚县| 河北区| 水城县| 湘潭县| 高邮市|