我正在爲SDL/OpenGL程序構建makefile。在查看SDL2.0示例的Makefile時,我會看到編譯器標誌,例如DHAVE_OPENGL和D_REENTRANT。在gcc的man手冊中沒有任何地方可以找到這些標誌中的任何一個的信息。在互聯網/我的系統上,我可以找到有關gcc支持的所有標誌的文檔?編譯器gcc編譯器標誌的文檔?
1
A
回答
2
-D選項用於不定義特定的編譯器標誌,但是用於pass macro definitions to the preprocessor。
確實-DHAVE_OPENGL
就像在您的源代碼中有#define HAVE_OPENGL 1
。所以它們與編譯器本身無關,只是與編譯的代碼有關。
Here你可以找到在任何情況下GCC選項的綜合文檔。
1
那些不是編譯器標記本身。 -D
是一個編譯器標誌,但接下來是預處理器定義。你不會找到什麼那些在編譯文檔意味着任何信息,因爲它會影響實際代碼您正在構建的行爲(例如,其在編譯過程中實際包含的代碼的部分)。
因此,不幸的,只有這樣,你纔會知道什麼定義這些預處理器令牌會做的是,如果你研究你編譯源代碼,或者如果庫您正在使用的文件他們。然而
一般來說,HAVE_OPENGL
讓SDL知道編譯GL相關的代碼。
重入是用於線程安全的,儘管_REENTRANT
不是標準的預處理器定義(雖然通常用於某些C stdlib實現),但假設它會導致您的軟件選擇重定向,儘可能進入功能的版本。
相關問題
- 1. GCC編譯器標誌「-DEVAL」
- 2. GCC編譯器標誌:-lg2c -lgfortran
- 3. 編譯編譯器錯誤編譯GCC
- 4. g ++等效的編譯器標誌到VC++編譯器標誌
- 5. 覆蓋GCC編譯標誌
- 6. Objective-C編譯器標誌
- 7. 編譯器標誌在Eclipse
- 8. C++編譯器標誌11
- 9. Cython OpenMP編譯器標誌
- 10. ocaml的編譯器文檔
- 11. 舊的gcc編譯器
- 12. GCC編譯器的問題
- 13. 由arm-gcc編譯器編譯的c代碼的頭文件
- 14. GCC VS MSVS編譯器
- 15. Android GCC編譯器更改
- 16. GCC編譯器問題
- 17. GNU GCC編譯器更新
- 18. GCC編譯器錯誤
- 19. 找不到gcc編譯器
- 20. Eclipse Juno - GCC編譯器pthread
- 21. OIS GCC編譯器錯誤
- 22. GCC編譯器錯誤
- 23. 最小GCC C++編譯器
- 24. C89 vs c99 GCC編譯器
- 25. 使MSVC編譯器GCC complient?
- 26. 編譯器如何編譯編譯器?
- 27. 等同於gcc編譯器的pgcc「-Minfo =」標誌?
- 28. 所有的gcc編譯器都支持@FILE標誌嗎?
- 29. 檢查編譯器是gcc/mingw還是VC++ cl的標誌?
- 30. #ifdef標誌告訴gcc和g ++編譯器之間的區別?