Я хочу переслать декларацию GLuint в заголовке класса Foo, но реализация GLuint изменяется в зависимости от операционной системы. Есть ли переносимый способ перенаправления объявить типы GL, заданные opengl, без необходимости включать этот огромный файл заголовка?Форвард декларирования типов opengl
ответ
Если вы не хотите использовать шаблоны, единственным вариантом является включение этого файла заголовка.
Вы также можете создать свой собственный заголовок с этими typedefs, но вам придется его поддерживать самостоятельно. Такие typedefs вряд ли изменится в будущем.
Есть ли переносимый способ пересылки декларации типов GL, заданных opengl, без необходимости включать этот огромный заголовочный файл?
OpenGL - это чистый файл заголовка C (у него есть несколько #ifdef
-s, чтобы иметь дело с C++-связью, но это все). Быть чистым C-заголовком означает, что он обрабатывает очень быстро. Это не похоже на C++, где каждый заголовочный файл входит в потенциально значительную нагрузку. Возможно, вы добавили #include <GL/gl.h>
к каждому исходному файлу (.hh
и .cc
) в большом проекте, и это увеличило бы время компиляции всего на несколько сотен мс.
- 1. Можно ли использовать подсветку OpenGL без декларирования нормалей поверхности?
- 2. Html Форвард форматирования текста
- 3. Форвард IDL Генерация
- 4. Как форвард/дублировать поток
- 5. Правила декларирования имен Haskell
- 6. декларирования JavaScript частных методов
- 7. Декларирования примитивных свойств типа
- 8. Декларирования глобального метода - Огурцы
- 9. Декларирования Лица с застройщиком
- 10. Декларирования @throws аннотации класса
- 11. Заявления и порядок декларирования
- 12. Декларирования массива структур
- 13. Mysql Форвард инженер Errno 150
- 14. Форвард список аргументов в функцию
- 15. Форвард цепочки против обратной цепочки
- 16. Итерация через форвард в razorview
- 17. Форвард Form.MouseWheel событие в TextBox
- 18. Декларирования общественного массива в VB.NET
- 19. Создание манифеста и декларирования андроида
- 20. Странное поведение с помощью декларирования
- 21. C# для цикла декларирования переменных
- 22. Угловая конвенция для декларирования контроллеров
- 23. Способы декларирования функций в jQuery
- 24. Декларирования зависимости внутри модуля RequireJS
- 25. Декларирования вектора признака объектов с пожизненным параметром
- 26. обеспечения OpenGL совместимых типов в C++
- 27. Что такое импорт для типов opengl?
- 28. Форвард-указатель массива для нескольких целей
- 29. Конфликт между использованием декларации и декларации Форвард
- 30. Форвард запрос HTTP через JumpBox к HAproxy