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...