2013-06-21 75 views
1

我想要一個可以由Lazarus和Delphi編譯而不需要改變它的代碼。但爲此,需要一個條件語句或類似的東西來檢查正在使用哪個編譯器。是否有任何指令或任何可能知道是否正在使用Lazarus或Delphi編譯代碼的指令?知道代碼是使用Lazarus還是Delphi編譯的

+4

FreePascal編譯器具有(在其默認模式下)定義的「FPC」指令,檢出例如這[非官方文章](http://delphi.wikia.com/wiki/FreePascal_detection_and_versioning)。 – TLama

+1

回答這個問題的最簡單方法是查看一些針對兩種編譯器的開源代碼。例如,GR32。許多ifdef用於'VERXXX',然後用於'FPC'的ifdef。從這樣一個好項目中學習。 –

+0

感謝提示,我會試試 – Felipe

回答

1

回答這個問題是在發表了,我就在這裏複製的核心位:

使用{$IFDEF FPC}檢測FreePascal的

+0

與其他一些標籤不同,讓我們防止德爾福的q/a比率惡化。 「沒有德爾菲問題應該被拋在後面」等等。 –

+1

雖然我同意你評論中的觀點,但是這個比率的惡化與質量問題有很大關係...... –

+0

也許(雖然肯定有標籤問題更嚴重),但這個問題沒有問題。我們中的大多數人都知道,在經歷了多年相關源代碼的暴露之後,如果您沒有使用正確的術語,Google並沒有將它記錄下來。 –

相關問題