解決gcc編譯時的亂碼問題


今天發現用securecrt登陸時,gcc編譯出錯時會出現亂碼,但直接在主機的窗口界面下用Shell編譯卻沒有亂碼。查看了一下當時的錯誤描述,發現它的引號是中文引號,導致在SecureCRT中顯示出錯:

    main.c:1:1: error: expected identifier or '(' before numeric constant

在網上查了一下,可以通過修改LC_CTYPE=zh_CN.GBK解決這個問題,具體的方法有兩個:

1. 通過export命令修改LC_CTYPE變量的值

    tianfang > export LC_CTYPE=zh_CN.GBK
    tianfang > gcc main.c
    main.c:1:1: error: expected identifier or '(' before numeric constant
    tianfang >

2. 修改/etc/sysconfig/language(大部分linux版本下這個文件叫/etc/sysconfig/i18n)中的變量設置,重新登陸后生效。

    #RC_LC_CTYPE=""
    RC_LC_CTYPE="zh_CN.GBK"

我個人比較推薦方法2。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM