Что такое #pragma ?
На самом деле #pragma используется для изменения настроек компилятора, эта директива не как не устраняет ошибки или предупреждения отправляемые компилятором. С помощью директивы #pragma вы можете только скрыть некоторые предупреждения и ошибки, на самом деле проблемы останутся в вашем коде, и не исчезнут волшебным способом.
#pragma dynamic
Самая популярная из всех существующих.
Динамически устанавливает параметр размера стека.
Иногда вы можете получить при компилировании своего скрипта такое уведомление:
Это предупреждение связано с редкими массивами, ненужных размеров и строк с использованием большого объема данных.
Например вы выделяете под стринговую область 2000 ячеек, а вам нужно всего 256:
Пример не правильного использования области памяти.
Пример правильного использования.
Так же рассмотрим пример с большим не нужным выделением слотов в массиве.
Пример не правильного использования
Спросите себя: Действительно ли вы должны использовать все это пространство?
Этот массив примерно 400 килобайт, не включая данные счетчиков.
Это очень много по сравнению с сегодняшним меркам, конечно все это можно сократить в 10 или даже 50 раз.
Пример правильно использования.
Размер этого массива теперь 40 килобайт, в отличие от 400 килобайт другого массива.
1 ячейка - 4 байта.
#pragma tabsize
Так же самая популярная директива среди рлсбыдлокдеров
Она отвечает за размер табуляции в вашем скрипте, который устанавливается по умолчанию до 4.
Если вы устанавливаете этот параметр до нуля в основном вы можете писать не читаемый код.
Вы вообще не должны изменять размер табуляции, установленный по умолчанию.
Чтобы избежать ошибок связанных с табуляцией вам нужно научиться делать правильно отступы в вашем коде.
Пример плохой табуляции.
Пример правильной табуляции
Вывод
Не используйте #pragma для исправления предупреждений и ошибок компилятора.
Автор: makarov



Сообщений: 921
Регистрация: 
