Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Директивы препроцессора

Статус
В этой теме нельзя размещать новые ответы.

KozzPorno

Ученик
Почти все программы на языке С++ используют специальные команды для компилятора, которые называются директивами. В общем случае директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения:

#define, #include, #if, #endif, #error, #else, #undef, #tryinclude, #endinput.

#define:
Эта директива заменяет себя на значение,удобно использовать для экономии памяти,например:
Код:
#define PAWNO_INFO 5
#include
Подключает файл в скрипт,можно использовать любое ТЕКСТОВОЕ расширение,по умолчанию идёт загрузка расширения .inc:

Код:
#include <pawno-info.piru>
- расширение piru.

#if, #else, #elseif, #endif:
С их помощью можно исключить из компиляции участки не нужного вам кода или сделать настройку скрипта через #define и #if, #else:
Код:
#define PAWNO-INFO // дефайним

public OnPlayerConnect(playerid)
{
    #if defined PAWNO-INFO//Если pawno-info задефайнен
        printf("PAWNO-INFO.ru задефайнен!");
    #else
        printf("PAWNO-INFO.ru не задефайнен!");
    #endif
}
Код:
//define PAWNO-INFO // Не будем дефайнить 
public OnPlayerConnect(playerid)
{
    #if !defined PAWNO-INFO//Если pawno-info задефайнен
        printf("PAWNO-INFO.ru не задефайнен!");
    #else
        printf("PAWNO-INFO.ru задефайнен!");
    #endif
}
#error:
Выдаёт ошибку при компиляции с указаным текстом.Удобно юзать при создании важной функции.

Код:
#if !defined pawno-info // если функция pawno-info не задефайнена
	#error pawno-info netu! // выдаст 'pawno-info netu' при выполнении условия
#endif
#undef:
Удаляет директиву,пример:

#define PAWNO-INFO//Задефайним
#undef PAWNO-INFO//Раздефайним(удалим директиву)

#tryinclude:
Так-же,как и #include,подгружает файл в скрипт,но если подгружаемый файл не существует,то директива просто просто пропустит этот файл,и не выведет ошибок,пример:

Код:
#tryinclude <PAWNO-INFO>//Если этого файла не существует,то директива пропустит его.
#endinput:
Игнорирует весь ниже написанный код,пример:

Код:
stock PAWNO-INFO() { Function(); }
#endinput
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу