2012-10-19 16 views
3

我想部分等價的問題:用DMD編譯的代碼,用GDC自動編譯嗎?我應該確保我的代碼與DMD和GDC一起編譯嗎?

我問,因爲我有正從Ubuntu的安裝10.4 GDC現代版的問題(貌似循環依賴,嘆息)reposetory。

+0

這些是什麼版本? – Robik

+0

您在編譯GDC編譯器時遇到問題,或者在使用GDC編譯代碼時遇到問題?另外,具體是什麼問題? –

+0

從ubuntu存儲庫中獲取gdc只給了我一箇舊版本的GDC。相反,我使用的是debian/squeeze,它需要gdc-4.3> = 1:1.060-4.3.5-1。所以我試圖從debian/squeeze中獲得gdc-4.3,但是這需要g ++ - 4.3> = 4.3.5-1。所以我從debian/squeeze中抓住了g ++ - 4.3,但這需要libstdC++ 6-4.3-dev。所以我從debian/squeeze中抓取,除了這需要g ++ - 4.3 ....循環依賴。好極了。令人討厭的是,我實際上已經從源代碼編譯了gcc4.6.1,我用它來完成其他任務。 – deltaluca

回答

5

我應該確保我的代碼既DMD和GDC編譯?

取決於您是否計劃在這兩個編譯器上編譯代碼。如果您只打算使用DMD進行編譯,那麼不需要確保您的代碼在GDC上編譯。也就是說,編寫可跨編譯器移植的代碼通常是一個好主意,以防您有一天需要使用GDC。

應該用DMD編譯的代碼,在任何情況下都可以用GDC自動編譯?

大多數情況下,編譯器之間總是會有小差異。

GDC和DMD(和LDC)都有着相同的編譯器的前端,所以在大多數情況下它們將特徵等同的。當你開始接觸低級別的東西時,通常會出現差異。內聯彙編程序,SIMD內在函數。

+2

這是我第一次進入D,我正考慮在接下來的幾個月內將它用於項目,以支持C++,因爲我一直想要嘗試D很長一段時間,所以我不認爲我會使用任何內聯彙編程序或內在函數。 – deltaluca

+1

編譯器之間也存在版本偏差:最新版本的gdc或ldc可能並不總是具有dmd的最新功能。 – BCS

相關問題