看板 CSSE 關於我們 聯絡資訊
※ 引述《Arim (Arim5566)》之銘言: : 小弟最近遇到了一個問題 : 在windows下如果要使用gcc的話,就必須使用Cygwin當作compiler : 就是如果我在windows下以Cygwin 去 compile一份.c檔 ,如果compile成功的話 : 那請問在linux下以gcc去compile同一份.c檔,請問是否一定也會compile成功? : 並且有相同的執行結果? : 主要就是困惑於相同的compiler是否會因作業系統的不同,而有不一樣的結果? : 還是compile成功與否,只決定於compiler本身? : 請版上大大不吝指教@@ 謝謝 如果你在windows下的那個c檔案有用到windows限定的函式庫什麼的, 例如windows.h, 那當然在linux底下不會過, 會告訴你找不到檔案. 其它像是system("pause");這種敘述也不會過. 如果現在是compile會過, 不一定會有相同的執行結果. 要看你是做什麼運算來決定. 像上面說的system(), 他的回傳值是platform-dependent. http://www.cplusplus.com/reference/clibrary/cstdlib/system/ compiler跟作業系統的緊密性很高, 所以個人認為答案是 compile成功與否, 是決定於compiler本身沒錯, (語法正確, 該有的函式庫檔案都有, 沒理由出現錯誤) 但是在不同平台上, 編譯後的執行結果不能保證會完全相同. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.177.198