Re: [舉手] 可以問在Linux上使用C的問題嗎?
※ 引述《ninaro (ninaroN NN )》之銘言:
: PS:本身是C新手(跑過一點點程式)
以前用哪一種 compiler ?
Linux 的 compiler 一律是 gcc 系列, 但開發環境 (IDE) 有很多種,
我自己是完全不用 IDE, 只用文字編輯器寫 source code,
然後直接用 gcc+make compile 成執行檔...
: Linux的超新手(只看過入門書還沒在平台上使用過)
: 過一陣子入學會接觸,故自己先唸而產生下面問題,
: 希望前輩們能幫助後學解惑,感謝^^
: 我的問題如下:
: Unix是由C寫成,而Linux是Unix-like,C雖可不受硬體限制,但是否會受OS限制呢?
最早的 Unix 是大部份 C 小部份組合語言寫成的, 但 Unix 家族眾多, 血統複雜...
Linux 這非純正血統的突變種也是大部份 C 小部份組合語言寫成的...
但不同 Unix 之間有不少相異之處, 並非只要是用 C 寫出來的就一模一樣...
C 有與 OS 無關的標準 library, 也有 OS 相關的 library,
stdio, stdlib 這些都是與 OS 無關可以直接移植的...
conio, "windows.h", Direct X 這些就是 OS 相關的部份...
初學者最常遇到麻煩的是 pause(), 這是 DOS 才有的 function ...
: 如在Linux下跑C需要修改什麼?
如上所述, 看情形, 也可能不需修改就能用。
使用越多 Windows 函式庫, 移植難度就越高。
牽涉到視窗 UI 介面的部份是完全不同, 幾乎需要整個重寫,
不過初學者應該還沒學到才對...
純文字介面就不用太擔心了...
: 需要下載不同的compiler嗎?
: 麻煩各位了,感謝^^
Linux 安裝光碟通常會內附完整 gcc (GNU Compiler Collection),
安裝時有選就會裝上去, 但不同 distribution 選擇元件的方式不一樣...
因為你說你學的是 C, 我這篇裡面講的都是 C 語言的相關名詞,
如果你學的其實是 C++, 其實跨平台移植的道理也是相通。
--
桃樂絲: 可是, 如果你沒有頭腦, 為什麼會說話?
稻草人: ㄝ, 我也不知... 但是有些人沒有頭腦也能說超~多話呢。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.64.34
推
06/02 16:11, , 1F
06/02 16:11, 1F
→
06/02 16:17, , 2F
06/02 16:17, 2F
→
06/02 16:17, , 3F
06/02 16:17, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):