看板 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
GitHub - jserv/MazuCC: A minimalist C compiler with x86_64 code generation
[圖]
A minimalist C compiler with x86_64 code generation - jserv/MazuCC ...

 
* Mazu Editor (媽祖程式碼編輯器): https://github.com/jserv/mazu-editor
GitHub - jserv/mazu-editor: a minimalist text editor with syntax highlight, copy/paste, and search
[圖]
a minimalist text editor with syntax highlight, copy/paste, and search - 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/
Dev-C++ download | SourceForge.net
[圖]
Download Dev-C++ for free. A free, portable, fast and simple C/C++ IDE. A new and improved fork of Bloodshed Dev-C++ ...

 
[2] https://en.wikipedia.org/wiki/Eight_queens_puzzle
 
[3] http://wiki.csie.ncku.edu.tw/linux/schedule

 
[4] https://hackmd.io/s/SyrZMGYr4
2019q1 第 1 週測驗題 - HackMD
[圖]
# 2019q1 第 1 週測驗題 :::info 目的: 檢驗學員對 [bitwise operator]( 及遞迴程式設計的認知 ::: ...

 

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.246.163
※ 文章代碼(AID): #1SlDeBKb (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1555880459.A.525.html
kindaichitom: XD
宅色夫推!
老師該不會又是coding到天亮吧!?1F 04/22 05:04
jserv: 正在為 Mazu Software Foundation (MSF) 打造相關軟體4F 04/22 05:06
sammoon: 推5F 04/22 05:06
TaoKappa: 推6F 04/22 05:07
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
stw0975: 推
十推內11F 04/22 05:19
jeffery95099: 推13F 04/22 05:22
jerry0715no1: 推14F 04/22 05:22
jahfone: 老師最近很常回文喔15F 04/22 05:27
ephraim13825: 不明覺厲16F 04/22 05:29
jserv: @jahfone, 為課程寫教材,借題發揮打廣告17F 04/22 05:29
zxc1234529: 推18F 04/22 05:31
twngbm: 推19F 04/22 05:31
abram: 這個跟其他編譯器比較有什麼特點嗎?請教20F 04/22 05:36
jserv: @abram, 原始程式碼簡潔,課堂時間可抄寫完畢 (咦?)21F 04/22 05:44
L1ON: 老師好厲害22F 04/22 05:44
sbya2222: 推老師  睡醒再看23F 04/22 05:45
jserv: 正經的說法是,體會前人篳路藍縷,才會珍惜所處的資訊世界進而找到自己可投身到llvm/gcc等專案的空間,我不相信沒有24F 04/22 05:45
dostey 
dostey: 不推不行 連電梯控制 紅綠燈控制 都26F 04/22 05:45
jserv: 開發MazuCC這樣的「前置作業」,可直接投入llvm/gcc的貢獻27F 04/22 05:46
greensaru: 推28F 04/22 05:47
LeoJhou: 老師,你是還沒睡還是剛醒29F 04/22 05:48
silentence: 好有靈性的清早(?)對談30F 04/22 05:51
fragmentwing: 好羨慕 不知道fortran有沒有推薦的編譯器 gfortran不會顯示行數,學校電腦的能顯示行數但還是得開程式碼來改 聽到別的語言能直接在編譯器上改超羨慕的31F 04/22 05:56
FJHS: 這個真的值得推,太猛了34F 04/22 05:57
fragmentwing: 話說編譯器都是直接包翻譯(執行)功能在內嗎 那有沒有沒編譯但有翻譯(執行)功能的工具啊,純粹好奇35F 04/22 05:58
ZhouGongJin: 推37F 04/22 05:59
lspss93191: 早安啊38F 04/22 06:00
shotgun31239: 推39F 04/22 06:06
number543: 推40F 04/22 06:06
fragmentwing: 原來之前問的被大神回了
到那個地步距離還有點遙遠啊41F 04/22 06:08
adm123: XDDDD43F 04/22 06:14
tony10231999: 但是我都用vscode外掛linux的編譯器44F 04/22 06:18
umum29: 推大神一個45F 04/22 06:19
emptie: 神46F 04/22 06:23
ethos: 快來推,這樣才能與神同行!XD47F 04/22 06:23
fragmentwing: 再推大神48F 04/22 06:24
b0920075: 每次專案名字都很好笑49F 04/22 06:27
anions: 有託夢下載模式嗎?50F 04/22 06:28
sarsman: 推大神51F 04/22 06:30
Amanz: 清流52F 04/22 06:32
mdkn35: 媽我在這53F 04/22 06:32
Wangdy: 假理組跟風推54F 04/22 06:32
Daichiuri: 先推55F 04/22 06:34
DivineSX: 媽祖要我推56F 04/22 06:34
ElrosHsun: 都用vim而已QQ57F 04/22 06:36
tony02258: 推58F 04/22 06:38
amethystboy: 感恩 讚嘆59F 04/22 06:41
bluu: 百推內60F 04/22 06:42
vviiccttoorr: 跪了61F 04/22 06:43
riker729: 唸資工應該都要寫過編譯器或組譯器62F 04/22 06:44
newprimer: Good job63F 04/22 06:46
kipi91718: XDDD64F 04/22 06:52
CodingMan: 想說這高手是誰,原來是 jserv 跪了65F 04/22 06:52
nanako81240: 先跪66F 04/22 06:52
Brabus700G: 看id先推 等等配早餐67F 04/22 06:53
chayoung: 跪推68F 04/22 06:55
coware: 有神快拜,先別管嬤組了69F 04/22 07:02
love52697: 推70F 04/22 07:04
eric2057: 百推內!71F 04/22 07:05
xxian: 推。只是已經有輪子了,為什麼還要自己再造輪子?72F 04/22 07:07
mazii: XD73F 04/22 07:08
EJblue: 跨謀@@74F 04/22 07:11
sppmg: 35F,tcc -run 可以直接執行。75F 04/22 07:21
dean040510: 推76F 04/22 07:24
oratik: 推!77F 04/22 07:25
ginstein: 非推不可!78F 04/22 07:29
fragmentwing: sppmg 收到 會去了解看看79F 04/22 07:30
choosin: 哇 推80F 04/22 07:30
jingo: 推81F 04/22 07:32
neiolin: 只能推了82F 04/22 07:35
hgs1906: 推83F 04/22 07:40
nfsong: 跪84F 04/22 07:42
nova06091: 老師的系統軟體課會放到youtube嗎85F 04/22 07:42
g30f68: 跪了86F 04/22 07:46
thegreatlcx 
thegreatlcx: 可以87F 04/22 07:48
Rickyyy: 原來是大神,push88F 04/22 07:53
DDG114514: 真厲害89F 04/22 07:53
a5245242003: 推90F 04/22 07:53
twofoot: 推91F 04/22 07:54
rltc: 跟風推92F 04/22 07:55
firose: 推93F 04/22 07:57
tank123zzz: 推94F 04/22 07:59
seel: 大神~95F 04/22 07:59
helloxin: 老師好96F 04/22 08:01
Cyuhsuan: 推97F 04/22 08:04
ATND: 推98F 04/22 08:10
PRODUCER18: 神推99F 04/22 08:11
RishYang: 請問cmake會不會很難用100F 04/22 08:15
WayThuz: 推101F 04/22 08:16
XzV5573g: 推102F 04/22 08:22
chang564: 只能推103F 04/22 08:22
ShittyFace: 推104F 04/22 08:25
ddoy7: 推105F 04/22 08:25
tom83615: jserv 大大必推106F 04/22 08:25
abb123456: 推107F 04/22 08:26
HAHADEAD: 大神 推108F 04/22 08:27
kaworu0612: 推109F 04/22 08:28
biolive30: 老師保重身體啊啊110F 04/22 08:28
observer0117: 推111F 04/22 08:29
chouchienyu: 推推112F 04/22 08:30
omegajoker: 推113F 04/22 08:33
ya4971: 推114F 04/22 08:38
wang2346581: 抱歉 我還是選擇vscode115F 04/22 08:42
Raymond0710: XDDD116F 04/22 08:42
harrybbs: 你見過凌晨5點的天色嗎?——jserv117F 04/22 08:45
GaryMatthews: 推118F 04/22 08:47
smallcar801: 用輪子要買大廠質量保障的輪子,不過要研究輪子的理論和改進當然要先掌握製作輪子的技術啊…119F 04/22 08:49
max0616: 總之我是推了121F 04/22 08:50
danadanad: 八個皇后在棋盤上不重複 跟數獨不是一樣的道理嗎? 直橫排都不重疊122F 04/22 08:54
grimmq52156: Tui124F 04/22 08:55
LierX: 推125F 04/22 08:55
snow10725: QAQ推 收下我的膝蓋126F 04/22 08:56
eric21489: 百推內127F 04/22 09:00
misomochi: 跪128F 04/22 09:04
wilson85771: 跪推129F 04/22 09:04
silverzeus: 推一個大神130F 04/22 09:05
d92001314: 推媽祖131F 04/22 09:07
q10242: 太強了132F 04/22 09:09
dic1911: cd中樓下推133F 04/22 09:13
tengentoppa: 推推134F 04/22 09:14
houting: XDDDD135F 04/22 09:14
octopuz: 推136F 04/22 09:18
koi074: 神137F 04/22 09:18
zxc17893: 狂138F 04/22 09:21
bobo8347: 推139F 04/22 09:23
ccinptt: 朝聖,推國民女神140F 04/22 09:26
lovelycateye: 有神!快拜!141F 04/22 09:27
iwtwin086051: 推142F 04/22 09:30
wayneduke: 大神快推143F 04/22 09:31
s94055: 推144F 04/22 09:33
pd3mnd: 推145F 04/22 09:34
antele: 推146F 04/22 09:37
johnnyivw: 推大神147F 04/22 09:38
xiefengan: 推148F 04/22 09:40

--
--
(jserv.): Re: [問卦] C語言編譯器用哪個才夠專業? - Gossiping板