作者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