看板 C_and_CPP 關於我們 聯絡資訊
藉這個機會 It's Dev-C++, not Dev-C 到底為什麼一直有人寫後面那個... 然後其實是 Code::Blocks ※ 引述《tropical72 (藍影)》之銘言: : 各位版大好,我想請教幾個初學者對 IDE / compiler 之問題, : OS 為 Windows XP : 1. Dev-C , CodeBlock 都屬 IDE , : 只是 Dev-C 所用之 compiler 為 gcc 3.4.2 , : 而 CodeBlock 會抓系統目前有之 compiler, 拿來做使用? Yep. 抓不到的話也可以手動設 另一方面, Dev-C++ 的編譯器路徑設定是寫死的 因為各版本 GCC(嚴格說來應該稱為 MinGW)的編譯參數基本上差不多 所以你直接抓新版 MinGW 取代 Dev-C++ 自帶的版本也可以 不過就比較麻煩, 而且無論如何還是只能有一種版本 用 Code::Blocks 的話你可以隨時在好幾種 compilers 之間切換 這對跨平台交叉編譯很重要(拇指) : 2. 若先安裝 Dev-C 時, gcc 版本為 3.4.2 : 再安裝 CodeBlock 時, 它是直接去抓 Dev-C 裡面的 gcc 拿來用嗎? 這我沒試過, 不過如果抓到了應該就是了吧 同上述, 如果你真的想讓它抓到, 最壞的狀況下也可以手動設 Code::Blocks 也有提供直接附一個 MinGW 的版本 用那個的話就會自動抓到附帶的 MinGW(廢話) 我記得是放在 %CBROOT%\MinGW 這個資料夾下面 (我現在面前這台是 Mac, 本文完全憑印象寫的...) : 3. 我是否可以直接想辦法去找 gcc.exe 較新版本, : 取代 C:\Dev-Cpp 底下,所有 gcc.exe, : 這樣下來 Dev-Cpp 也只有 IDE 老舊而已, compiler 就變沒問題。 : 或是,要取得新版 gcc.exe , 一定還要再安裝另一整套軟體 (IDE) ? Of course. 但你不只需要 gcc 本身, 一些 libs 也要替換 要換到什麼程度就視你需要用到什麼程度而定 應該可以找到教學吧, 我不熟 : 4. 這是我最納悶的一點。 : 我於 C:\Dev-Cpp\bin 底下,輸入 gcc --help,但卻沒找到任何關於 -O1 -O2 -O3 : 之類的說明,但在 IDE 底下, : 工具->編譯環境選項->程式碼產生/最佳化,還可以挑 : 「最佳化」、「更加最佳化」、「高度最佳化」。 那只是 help 裡面沒寫出來而已, 其實是有... 那個說明文根本超不完整的, 詳細要看 docs http://www.mingw.org/wiki : 同樣的情形,在 C:\Program Files\CodeBlocks 底下, : 除了 cb_console_runner.exe, codeblocks.exe, unistall.exe, : 我再也找不到任何有關於 compiler, linker 之執行檔, 因為你抓的版本裡本來就沒附上編譯工具, 只有 IDE 本身 : 但 CB 卻也還是有 -O1 -O2 -O3 之選項,這也讓我納悶, 和上面 gcc --help 的內容相對 使用者介面有做出來, 也不代表後面一定要有那個功能啊XD 當然因為 gcc 確實有那些選項 所以如果你勾了那些東西, C::B 在呼叫編譯器時就會把那些選項 pass 進去 : 於是想問,gcc.exe 到底有沒有 Optimization 選項? : 如果沒有的話,那 CB / Dev-C 之 Optimization 怎麼做的? 當然有... : 最後再補問一個小問題 : warning: no newline at end of file : 這個 warnning 是否必然產生? 你在程式碼最後一行放一個空行就不會產生了 這個檢查是源自於古早時代某些 Unix-like 系統的...特性?Bug? 如果文字檔案最後沒有 newline 字元 (line feed, LF, \n, whatever you call it) 可能會造成系統讀取錯誤 所以 gcc 會進行這個檢查 我記得好像可以關掉, 不過有點忘了 很多 IDE 也都有提供自動檢查功能, 會在你存檔時自動附加空行 以避免發生問題(雖然現代的系統基本上都沒這個問題了) : 以上,問題很雜,若覺得回答很費時,可丟一份網頁給我一點提示即可, : 最後感謝各位細心指導,感激不盡。 -- ╱ ̄ ̄ ̄╲ ▏◢█◣ 成龍表示: 是喔... ′/ ‵ ╰╯ ψQSWEET █◤ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146
Favonia:C99 規定最後要換行唷!我個人猜測是 #include 的問題 xDD 09/10 10:54
Favonia:如果 #include 真的把原本的檔案照貼上去大概就完了... 09/10 10:55
tropical72:超感謝 uranusjr 細心解說 !! 09/10 10:59
loveme00835:我就是換來用的阿,不過Dev C++逐步偵錯整個炸掉, 寫小 09/10 11:18
loveme00835:程式還堪用 09/10 11:18
uranusjr:與 tropical72 大大的貢獻相比我只是舉手之勞, 竟然有能 09/10 13:41
uranusjr:幫忙大好人的一天這是我的榮幸 <(_ _)> 09/10 13:41
Favonia:-end-of-file-compiler-warning/72409#72409 09/10 19:30
VictorTom:DevC++的trace/watch/debug的功能的確是不好用地可怕Orz 09/11 20:17