Ladies_Digi 板


LINE

※ 引述《beagle (紅茶犬)》之銘言: : ※ 引述《ninaro (ninaroN￾ NN￾ )》之銘言: : : PS:本身是C新手(跑過一點點程式) : 以前用哪一種 compiler ? : Linux 的 compiler 一律是 gcc 系列, 但開發環境 (IDE) 有很多種, : 我自己是完全不用 IDE, 只用文字編輯器寫 source code, : 然後直接用 gcc+make compile 成執行檔... Linux 下面的 compiler 可不是只有 gcc 喔,它只是最容易取得的一種而已。 比如你如果用 intel 的 processor ,也可以用 Linux 版本的 icc 。 在 compile 的時候會對 processor 的設定作一些最佳化,可能會跑得比較快。 不過我印象中只有試用版是免費的,正式版收費並不便宜。 : : 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 ... 應該要反過來說,每一個 compiler 支援哪些指令,不支援哪些指令, 是看 compiler 的實作方式。一般 C compile 大概至少支援 ANSI C 的標準。 (不過實際上大部份的都沒有百分之百完整正確地支援) library 的話其實也不完全是跟 OS 綁定的,只要有裝該 library , compiler 在編的時候能認得,就會編得過去。 不過 windows 和 Linux 常用的函式庫命名常不相同,所以無法共用一個程式。 如果要用 C 寫跨平台程式,那麼使用某些非標準的函式庫時, 就可能需要自己寫一些 wrapper 把底層不同的實作函式庫包成一樣的樣子, 再讓 compiler 透過一些參數來辨認平台作編譯的動作。 不過這不是一個 C 的新手應該要去碰的東西,牽扯太廣了。 : : 如在Linux下跑C需要修改什麼? : 如上所述, 看情形, 也可能不需修改就能用。 : 使用越多 Windows 函式庫, 移植難度就越高。 : 牽涉到視窗 UI 介面的部份是完全不同, 幾乎需要整個重寫, : 不過初學者應該還沒學到才對... : 純文字介面就不用太擔心了... 如果看得懂 warning 跟 error ,就先拿去編,再看缺什麼就改什麼, 盡量用有支援的函式去取代沒支援的。反正不對 compiler 都會講, 自己看 code 很多時候也看不出來。 : : 需要下載不同的compiler嗎? : : 麻煩各位了,感謝^^ : Linux 安裝光碟通常會內附完整 gcc (GNU Compiler Collection), : 安裝時有選就會裝上去, 但不同 distribution 選擇元件的方式不一樣... : 因為你說你學的是 C, 我這篇裡面講的都是 C 語言的相關名詞, : 如果你學的其實是 C++, 其實跨平台移植的道理也是相通。 如果不太在意效能,又想要跨平台,就用 java 吧,事情一下子就變單純了。 如果會 C/C++ 寫得熟,轉 java 應該勉勉強強不會花太多時間。 -- 我實實在在的告訴你們,一粒麥子不落在地裡死了, 仍舊是一粒,若是死了,就結出許多子粒來。 約翰福音 12:24 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.132
1F:→ beagle:真沒想到會在這邊遇到你... 06/01 17:03
2F:→ sitos:阿... 你是誰阿? :) 06/01 18:28
3F:→ beagle:這個問題嘛... 我也常常問我自己... 06/02 10:52
4F:→ beagle:我們沒見過面, 交集的話應該是某P老師的個人板... 06/02 10:53
5F:→ sitos:喔.... :) 06/02 12:03







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP