Просмотр полной версии : [Вопрос] Переподключение INC (инклюдов)
Elrmrnt-Kritik
25.03.2018, 13:01
Доброе время суток. Скажите пожалуйста, баг с переподключением INC присутствует исключительно в стандартном pawno, либо в других он тоже существует? Я сижу на PawnVSCode и Notepad++. Стоит ли проверять, пользуясь этими компиляторами, не подключен ли inc дважды?
Стандартный компилятор Pawn автоматически генерирует защиту от повторного подключения файов. Тем не менее в версии от Zeex данная фича была выключена по умолчанию (включить её можно, используя флаг -Z). Поэтому вам необходимо использовать file guards, которые позволяют включить содержимое файла только лишь один раз.
#if defined a_samp_included
#endinput
#endif
#define a_samp_included
// Содержимое файла.
Daniel_Cortez
25.03.2018, 14:02
Стандартный компилятор Pawn автоматически генерирует защиту от повторного подключения файов. Тем не менее в версии от Zeex данная фича была выключена по умолчанию (включить её можно, используя флаг -Z). Поэтому вам необходимо использовать file guards, которые позволяют включить содержимое файла только лишь один раз.
#if defined a_samp_included
#endinput
#endif
#define a_samp_included
// Содержимое файла.
По-хорошему, следовало бы уточнить, что название макроса в защите от повторного подключения (include guard) зависит от имени файла (в данном случае a_samp.inc) - а то ещё получится, что ТС станет писать "a_samp_included" во всех своих инклудах.
Elrmrnt-Kritik
25.03.2018, 14:27
Да вот я как раз-таки и хотел придумать что-нибудь, чтобы не прописывать эту защиту от переподключения. Надоело уже писать во всех файлах это))
То есть эту защиту необходимо писать во всех INC, если я использую не стандартный компилятор?
То есть эту защиту необходимо писать во всех INC, если я использую не стандартный компилятор?
Лучше писать её всегда.
Elrmrnt-Kritik
15.06.2018, 01:23
Спасибо, тему можно закрыть.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot