2017-03-14 23 views
-1

在一個項目上工作時,我們有4000多個警告。 要刪除其中一些,我發現一個編譯器指令爲NEXTGENNEXTGEN編譯器有什麼用處?

在使用該指令後,我發現有一個在警告更最大限度地減少了257

我想知道,如果我們在使用編譯器指令的任何問題。這個指令對我的Windows應用程序有沒有什麼缺點。我正在使用Delphi 10

on Embarcadero我發現的信息非常少。

任何人都可以告訴我一樣的東西嗎?

+0

我在**中輸入了** docwiki nextgen **,第一個記錄記錄了這個條件。我建議你閱讀這個主題:http://stackoverflow.com/questions/21403628/how-can-i-search-for-delphi-documentation –

+1

時間捲起你的袖子,並修復這些警告我會說。如何取決於他們究竟是什麼。 –

+0

現在你對這個問題有了答案嗎? –

回答

3

德爾福的NEXTGEN條件符號標誌着下一代ARC編譯器。 Windows和OSX編譯器不是NEXTGEN。 iOS,Android和即將推出的Linux編譯器都是。

爲Windows編譯的任何編碼爲NEXTGEN的代碼都將被忽略。

Conditional symbols

定義爲編譯器(如Delphi的移動編譯器)使用 「下一代」語言功能,諸如基於0的字符串。/ 在XE4的iOS

+1

Minor nit:指令是編譯器的命令,例如{$ D +}或{$ WARN xxxx OFF}。編譯器定義的條件不是「指令」,而是用於條件指令{$ IF Defined(xxxx)}或{$ IFDEF xxxx},其中xxxx可以是NEXTGEN –

2

NEXTGEN情況的符號是由編譯器定義。例如,它被定義爲使用ARC的移動編譯器。它沒有爲傳統的Windows和Mac OS編譯器定義。

你不能在你的代碼中定義它。您正在使用傳統編譯器編譯代碼,而不是編譯器NEXTGEN。無論對這些編譯器警告負責,定義NEXTGEN都不是解決方案。

相關問題