作者micklin (mick doohan)
看板CSSE
標題Re: [問題] gcc 在windows 跟 linux
時間Tue Mar 23 01:33:34 2010
※ 引述《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