我想在Foo類的頭文件中轉發聲明GLuint,但GLuint的實現根據操作系統而變化。有沒有一種可移植的方式來轉發聲明由opengl給出的GL類型,而不必包含那個巨大的頭文件?正向聲明opengl類型
0
A
回答
2
除非您想使用模板,唯一的選擇是包含該頭文件。
你也可以用這些typedefs創建自己的頭文件,但是你必須自己維護它。這樣的typedef在將來不太可能改變。
2
是否有一種可移植的方式來轉發聲明由opengl給出的GL類型,而不必包含那個巨大的頭文件?
OpenGL是一個純粹的C頭文件(它有幾個#ifdef
-s來處理C++鏈接,但就是這樣)。作爲一個純粹的C頭文件意味着它可以快速解析非常快的。這不像C++,每個頭文件都包含一個潛在的重要負擔。您可以在大型項目中將#include <GL/gl.h>
添加到每個源文件(.hh
和.cc
)中,並且這會將編譯時間僅增加幾百ms。
相關問題
- 1. 不完整類型,正向聲明
- 2. 接收器類型是正向聲明
- 3. 正向類friend聲明
- 4. 正向聲明'struct bb',類
- 5. 正向聲明
- 6. 正向聲明
- 7. 正向聲明類,類重定義
- 8. 正向聲明typdef
- 9. 類向前聲明
- 10. 記錄類型的前向聲明
- 11. 類型MatrixXd&VectorXd的前向聲明?
- 12. C++中的向量聲明類型
- 13. 模板與正向類聲明
- 14. 正向類的聲明在Python
- 15. 正向聲明一個子類
- 16. 關於@class的正向類聲明
- 17. C++中的正向聲明類
- 18. 正向聲明嵌套stucture在基類
- 19. 正向聲明子類數組
- 20. 正向聲明不起作用,沒有類型錯誤
- 21. 正向聲明地圖的映射的類型和C++ 11
- 22. 正向聲明和使用新關鍵字的類型名稱
- 23. 正向聲明產生不兼容的類型錯誤
- 24. 有兩個文件的正向類型聲明
- 25. Haskell類型聲明
- 26. 無類型聲明
- 27. 聲明新類型
- 28. Data.Map類型聲明
- 29. Java類型聲明
- 30. 聲明的類型