看板 Gossiping作者 jserv (松鼠)標題 Re: [問卦] C語言編譯器用哪個才夠專業?時間 Mon Apr 22 05:00:53 2019
※ 引述《qazStarStar (我不是派大星)》之銘言:
: 鄉民好像很不推DevC欸
: 那
: 專業的鄉民都推什麼編譯器
: Netbeans還是微軟的VS還是啥的
: 點解?
我只聽過 Dev-C++ [1],不知何謂 DevC。
衛生棉的廣告台詞:「做自己,好自在」,當然要自幹開發工具,才會「自在」呀。
媽祖托夢要我自幹編譯器 (compiler),然後我順便連編輯器 (editor) 也寫好了,
原始程式碼更新於 GitHub,歡迎指教:
* MazuCC (媽祖 C 語言編譯器):
https://github.com/jserv/MazuCC
* Mazu Editor (媽祖程式碼編輯器):
https://github.com/jserv/mazu-editor
其中前者程式碼約為兩千行,後者約為一千行,Mazu 編輯器可編輯 Mazu 編譯器
原始碼,但 Mazu C 語言編譯器還不能編譯 Mazu 編輯器 (好饒舌),不過應該會
持續進化。
現在 MazuCC 可編譯八皇后問題求解 [2] 這樣的小型程式,畢竟媽祖是國民女神,
超越 N 個皇后。西洋棋中的皇后可以直線前進,吃掉遇到的所有棋子,若棋盤上有
8 個皇后,則這 8 個皇后如何相安無事地放置在棋盤上呢?1970 年與 1971 年,
電腦科學家 E.W.Dijkstra 與 N.Wirth 曾用這個問題來講解程式設計之技巧,遞迴
程式設計是常見的技巧,而 MazuCC 也支援。
然而如何減少遞迴的次數,是更關鍵的問題,在八個皇后的問題中,不必要所有的
格子都檢查過,例如若某列檢查過,該該列的其它格子就不用再檢查,此法稱為分支
修剪。「Linux 核心設計」[3] 開放課程第一週的測驗題 [4] 用這題目來檢驗學員
對遞迴和 bitwise 操作的認知。
感謝媽祖,讓我有勇氣挑戰系統軟體的開發。
[1]
https://sourceforge.net/projects/orwelldevcpp/
[2]
https://en.wikipedia.org/wiki/Eight_queens_puzzle
[3]
http://wiki.csie.ncku.edu.tw/linux/schedule
[4]
https://hackmd.io/s/SyrZMGYr4
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.246.163
※ 文章代碼(AID): #1SlDeBKb (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1555880459.A.525.html
→ jserv: 正在為 Mazu Software Foundation (MSF) 打造相關軟體4F 04/22 05:06
→ jserv: @kindaichitom, 我只是忘了調時差7F 04/22 05:07
推 lauly: Jserv 我佩服你持續的熱情!8F 04/22 05:08
→ jserv: @lauly, 教別人寫程式的人當然要寫程式,這沒什麼9F 04/22 05:10
推 Hnash: 大神都不用睡覺的!?10F 04/22 05:12
推 jahfone: 老師最近很常回文喔15F 04/22 05:27
→ jserv: @jahfone, 為課程寫教材,借題發揮打廣告17F 04/22 05:29
推 abram: 這個跟其他編譯器比較有什麼特點嗎?請教20F 04/22 05:36
→ jserv: @abram, 原始程式碼簡潔,課堂時間可抄寫完畢 (咦?)21F 04/22 05:44
→ L1ON: 老師好厲害22F 04/22 05:44
→ jserv: 正經的說法是,體會前人篳路藍縷,才會珍惜所處的資訊世界進而找到自己可投身到llvm/gcc等專案的空間,我不相信沒有24F 04/22 05:45
→ dostey …
→ dostey: 不推不行 連電梯控制 紅綠燈控制 都26F 04/22 05:45
→ jserv: 開發MazuCC這樣的「前置作業」,可直接投入llvm/gcc的貢獻27F 04/22 05:46
推 LeoJhou: 老師,你是還沒睡還是剛醒29F 04/22 05:48
→ fragmentwing: 好羨慕 不知道fortran有沒有推薦的編譯器 gfortran不會顯示行數,學校電腦的能顯示行數但還是得開程式碼來改 聽到別的語言能直接在編譯器上改超羨慕的31F 04/22 05:56
推 FJHS: 這個真的值得推,太猛了34F 04/22 05:57
→ fragmentwing: 話說編譯器都是直接包翻譯(執行)功能在內嗎 那有沒有沒編譯但有翻譯(執行)功能的工具啊,純粹好奇35F 04/22 05:58
推 adm123: XDDDD43F 04/22 06:14
推 umum29: 推大神一個45F 04/22 06:19
推 ethos: 快來推,這樣才能與神同行!XD47F 04/22 06:23
→ anions: 有託夢下載模式嗎?50F 04/22 06:28
推 Amanz: 清流52F 04/22 06:32
推 Wangdy: 假理組跟風推54F 04/22 06:32
推 bluu: 百推內60F 04/22 06:42
推 riker729: 唸資工應該都要寫過編譯器或組譯器62F 04/22 06:44
推 CodingMan: 想說這高手是誰,原來是 jserv 跪了65F 04/22 06:52
推 coware: 有神快拜,先別管嬤組了69F 04/22 07:02
推 xxian: 推。只是已經有輪子了,為什麼還要自己再造輪子?72F 04/22 07:07
推 mazii: XD73F 04/22 07:08
推 sppmg: 35F,tcc -run 可以直接執行。75F 04/22 07:21
推 jingo: 推81F 04/22 07:32
推 nova06091: 老師的系統軟體課會放到youtube嗎85F 04/22 07:42
推 Rickyyy: 原來是大神,push88F 04/22 07:53
推 rltc: 跟風推92F 04/22 07:55
推 seel: 大神~95F 04/22 07:59
推 RishYang: 請問cmake會不會很難用100F 04/22 08:15
推 ddoy7: 推105F 04/22 08:25
推 harrybbs: 你見過凌晨5點的天色嗎?——jserv117F 04/22 08:45
推 smallcar801: 用輪子要買大廠質量保障的輪子,不過要研究輪子的理論和改進當然要先掌握製作輪子的技術啊…119F 04/22 08:49
推 danadanad: 八個皇后在棋盤上不重複 跟數獨不是一樣的道理嗎? 直橫排都不重疊122F 04/22 08:54
推 LierX: 推125F 04/22 08:55
推 ccinptt: 朝聖,推國民女神140F 04/22 09:26
--