Формирование кроссплатформенного кода

Для удобства дальнейшей работы с расширениями все необходимые операции можно записать в небольшую библиотеку, причем желательно инкапсулировать всю платформозависимую часть. Для формирования кроссплатформенного кода изменяющуюся часть (получение адреса функции) лучше вынести в отдельную функцию: static void * getProcAddress ( const char * name ){#ifdef _WIN32return wglGetProcAddress ( name );#elsereturn (void *)glXGetProcAddressARB ((const GLubyte *)name ); #endif } Обратите внимание на использование условной компиляции — символ _wiN32 служит для определения того, происходит ли компиляция под платформой Windows или нет (здесь мы будем считать, что если этот символ не определен, то компиляция происходит под Linux). На прилагаемом к книге компакт-диске содержится написанная автором: библиотека для работы с расширениями lib Ext. Она не претендует на полноту и поэтому поддерживает лишь часть из имеющихся расширений. Однако все рассматриваемые в этой книге расширения ею поддерживаются, и она является кроссплатформенной (успешно компилируется и под Windows, и под Linux, и способ работы с ней не зависит от платформы).

Категория: Понятие расширений OpenGL, их основные типы и особенности работы с ними под Windows и Linux

Таги: , ,

Приветствие!

Наш сайт создан для любителей и профессионалов, для тех кому не безинтересна система под названием Linux. На нашем сайте вы найдете статьи от установки до программирования на Linux'e, отзывы о системе, советы и поддержка начинающим пользователям. Для новичком, доступен раздел "Запускаем Linux", в котором рассказывается все от "упаковки", до первого включения системы.

Архивный календарь

Июль 2010
Пн Вт Ср Чт Пт Сб Вс
« Фев    
 1234
567891011
12131415161718
19202122232425
262728293031  


Статистика