2016-11-25 249 views
-2

我想不出一個很好的方式來命名這個問題,因爲這個問題的描述非常冗長。基本上,我遇到的問題是,在我上傳到我的學校的Linux服務器後,我在Mac上的Xcode中編寫的代碼沒有運行。我以前從未遇到過這個問題。它不是一個語法問題,這是我可能遇到的問題(IE也許我不需要在Xcode上包含一個需要包含在Linux服務器上的特定頭文件,所以當我嘗試編譯時出現錯誤那裏),但它是一個邏輯錯誤。一個具體的if-else語句完全是錯誤的。它可以在Xcode中正常工作,但是上傳到linux服務器並使用makefile編譯的.cc文件具有完全不同的結果,使用與Xcode中使用的相同的確切輸入。我甚至在上傳之後使用emacs打開.cc文件,以確保沒有任何代碼被修改過,但沒有任何變化。這很奇怪。我從來沒有遇到過這樣的問題。我想提供代碼,但可能會太長,所以我需要將其分解成更小的示例。現在,我想知道這是否是其他任何人遇到過的。這項任務涉及圖論。我輸入'A'和'B'來繪製兩個頂點之間的邊。你可以看到它在Xcode構建中起作用,但不能從Linux構建中起作用。在Linux服務器上編譯代碼似乎運行不同

Program Ran From Xcode Build In Terminal Program Ran after Compiling on Linux Server and Being Ran

+2

是,其他人都寫代碼,編譯成功,但表現不同在不同的系統。當程序或編譯器不嚴格符合標準時,可能會發生這種情況。通常,問題出在程序上。這是我告訴你不要發佈整個節目的部分,而是將它剪下來成爲[mcve],然後發佈。 –

+0

(也和只是作爲一個預留的,單數「頂點」的是「頂點」) – DDP

+0

感謝。其實,我知道這一點從以前的數學課,我想我的大腦只是完全擾亂現在試圖弄清楚這一點。 –

回答

0

我發現的錯誤。在Xcode中,出於某種原因,我將一個字符輸入到字符串中,如'cin >> string [0]',但它在Linux服務器上編譯時會導致問題。它不會接受陣列式的輸入,我不得不用「CIN >>字符串」

相關問題