Re: [問題] 適合初學者用的compiler

看板C_and_CPP作者 (帳號式)時間11年前 (2013/04/14 17:09), 編輯推噓5(5015)
留言20則, 13人參與, 最新討論串2/2 (看更多)
Visual C++ 什麼版都好 既然是討論編譯器 那就不討論整合開發環境 VC 可以說是最接近 C89/C++98規範的編譯器(方言最少) 也就是說 gcc/g++較VC來的寬鬆 所以不討論庫的話 gcc/g++一定可編譯 vc可過的代碼 ex: 走到一半宣告變量,VC不會讓你過的 , gcc卻可以 ======= n = 50; int a[n]; vc不會過的, gcc 可以 (請愛用alloca) ====== struct array { unsigned int length; unsigned char bytes[0]; }; VC不會過的, gcc 可以, VC 請用malloc, 然後這樣free就麻煩一點,要兩次 既所謂由簡入奢易 所以先從VC開始吧 ※ 引述《suhorng ( )》之銘言: : 各位好。想請問一下有沒有適合初學者使用的C/C++ compiler呢? : 我知道這個問題有點異想天開,而我也只用過 gcc/g++. : 確切的說, 我希望編譯器的錯誤訊息友善一點, : 而且希望看到 undefined behavior 會 compile error : 然後編出來的code不需要多有效率, 也不需要特別做優化 : 不知道有沒有這樣的 compiler 呢? : (題外話, 之前看到 Tiny C Compiler 真的很驚訝 C compiler 可以這麼迷你XD) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.142.25.153 ※ 編輯: IdFormat 來自: 223.142.25.153 (04/14 17:16)

04/14 17:29, , 1F
gcc也不是不行 要加上-pedantic 其實我編譯都會加上
04/14 17:29, 1F

04/14 17:29, , 2F
-Wall -Wextra -pedantic
04/14 17:29, 2F

04/14 18:27, , 3F
你把警告權限用到最高就好...
04/14 18:27, 3F

04/14 18:47, , 4F
第一個例子單純是gcc支援VLA(C99) VC++不支援 並不是gcc比
04/14 18:47, 4F

04/14 18:47, , 5F
較寬鬆吧..?
04/14 18:47, 5F

04/14 18:47, , 6F
好!我只有-Wall -Wshadow -Wextra, 以後就加-pednatic XD
04/14 18:47, 6F

04/14 20:34, , 7F
明明就是vc死不支援 C99 硬要跟大家不一樣...
04/14 20:34, 7F

04/14 20:43, , 8F
alloca 不在 C 的規範內吧
04/14 20:43, 8F

04/15 00:38, , 9F
...
04/15 00:38, 9F

04/15 08:54, , 10F
比較少聽到這種說法
04/15 08:54, 10F

04/15 08:55, , 11F
顏色怪怪
04/15 08:55, 11F

04/15 09:46, , 12F
反對的理由是 vc 對於 C++ox 支援性沒 g++ 來得好
04/15 09:46, 12F

04/15 11:41, , 13F
原po講法真奇怪
04/15 11:41, 13F

04/15 11:43, , 14F
還有"不討論庫"就是件怪事
04/15 11:43, 14F

04/15 11:43, , 15F
gcc引用GNU lib比較方便 VC引用windows API比較方便 我
04/15 11:43, 15F

04/15 11:44, , 16F
覺得這才是對初學者的選擇上最重要的關鍵
04/15 11:44, 16F

04/15 11:54, , 17F
vc有太多M$與眾不同的地方...不覺得會比較適合初學者
04/15 11:54, 17F

04/15 12:45, , 18F
只要在 Windows 跑,很多語言引用 Windows API 方便程度
04/15 12:45, 18F

04/15 12:46, , 19F
都不會差太多...gcc Windows 版跟 VC 在這點上沒什麼差別
04/15 12:46, 19F

04/16 18:06, , 20F
我覺得g++比較好耶 初學可以多練習include lib
04/16 18:06, 20F
文章代碼(AID): #1HQd9Hiq (C_and_CPP)
文章代碼(AID): #1HQd9Hiq (C_and_CPP)