visual studio code執行亂碼怎麼辦?

時間 2021-08-11 16:18:27

1樓:JoshCena

這用GCC居然執行成功了才是奇蹟啊

我決定略微認真地回答這個問題。首先,毫無疑問地,這個程式是不可能以 C 的語法被編譯通過的,Clang 還是 GCC 都不行:

$ gcc-11 Test.c -o Test

Test.c:1:7: error: expected declaration specifiers or '...' before string constant

1| print(

"Hello world");

|clang Test.c -o Test

Test.c:1:7: error: expected parameter declarator

print(

"Hello world");

^Test.c:1:7: error: expected ')'

Test.c:1:6: note: to match this '('

print(

"Hello world");

^Test.c:1:1: warning: type specifier missing, defaults to 'int'

[-Wimplicit-int]

print(

"Hello world");

^1 warning and 2 errors generated.

那麼下乙個問題,題主的控制台究竟輸出了什麼?

通過非 0 的返回值可以得知,程式並未執行成功。同時注意到很有意思的一點,雖然輸出的是一堆亂碼,但開頭是'gcc',顯然,如果 GCC 被正常呼叫,是不可能輸出自己的名字的。此時,不難想到 Windows Powershell 下的經典輸出:

'gcc' 不是內部或外部命令,也不是可執行的程式或批處理檔案

那麼測試一下,先把這段文字儲存為 GBK 文字格式:

再用 UTF-8 重新開啟:

於是非常成功地復現了題主的輸出

DEBUNKED

所以答案就是,題主其實並未成功安裝 GCC,建議買一本靠譜的教程,從頭學起_(:з」∠)_

VS Code 也很可能不太適合新手,用 CodeBlocks 之類的 IDE 可能入門會少一點學習門檻吧……

略微解釋一下為何會亂碼。VS Code 的「輸出」視窗劫持了 Powershell 的標準輸出流,但它並不知道這個流的編碼。Powershell 在 Windows 下預設為 GBK 編碼,但 VS Code 的編碼則是 UTF-8,所以造成了這樣的編碼轉換問題。

解決方法是改變任何一方的編碼。

用vim開啟後中文亂碼怎麼辦?

set encoding cp936 可以解決中文檔案亂碼問題基本上適配所有編碼的配置 setencoding utf 8nobomb settermencoding utf 8set fileencodings utf 8,gbk,utf 16le,cp1252 iso 8859 15 ucs b...

火電廠執行怎麼申請下執行?

阿毛 1,找個上執行的物件,倆人有乙個可以下執行。2,好好幹,執行有機爐電三個專工,不用倒班,主任也不用,但是主任更難。3,參加各種競賽,只要拿到名次就可以轉到政工。4,把身體搞的很慘,然後去醫院開個不能倒班的證明。拿給領導看,申請下執行,去檢修。5,擺爛,電廠有個規矩,就是你不能強迫任何人做事,你...

饑荒執行mod太多停止執行怎麼處理

西北悵然望長安 沒遇到過炸成這樣的。我自己是steam的,一般是開啟所在資料夾,找模組位置,全部刪掉。然後訂閱庫去掉除了輔助功能類的全部mod。然後乙個乙個試自己的模組到底在哪衝突了。這東西就是這麼耗時。還不行就輪不到我來回答了。 月亦風 這是記憶體溢位,和你多高配置沒啥關係,啥意思呢?我申請了1M...