Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для jeraqiv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.06.2015
    Адрес
    Двумерный массив
    Сообщений
    77
    Репутация:
    2 ±

    Серьезные вещи

    Всем доброго дня. У меня возник вопрос - как разрабатывать Include где используется модульная парадигма программирования, или разработка библиотек DLL. Просто когда я смотрю исходный код - просто страшно понимать что там написано, ибо он слегка отличается от более известного нам - процедурного подхода. Надеюсь вы меня поняли.

    Знаете ли вы где есть документация по этому поводу? Просто мне кажется там идет обращение к компилятору и т.п.. А вот эти вещи я еще не понял.

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. #3
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    В дополнение к ответу выше могу порекомендовать уроки по перехвату функций (ссылки в подписи), этот приём очень полезен при написании модулей, часть кода которых должна выполняться в коллбэках типа OnGameModeInit, OnPlayerConnect, etc.
    Например, вместо того, чтобы писать для инициализации модуля функцию типа my_module_Init и вызывать эту функцию из OnGameModeInit в моде, можно написать в модуле перехватчик коллбэка OnGameModeInit, и тогда не нужно будет ничего вызывать из мода - перехватчик вызовется сам перед вызовом коллбэка в моде, и в нём можно будет выполнить весь код инициализации модуля.
    Кроме того, если не привязывать мод к создаваемому модулю (т.е. не использовать в моде функции/переменные/константы из модуля), то чтобы отключить такой модуль, не нужно будет обшаривать весь мод - достаточно будет всего лишь закомментировав строку с его подключением (#include).

    P.S.: Если вы не поняли ни слова из того, что я написал - это нормальная реакция и вам просто не стоит затрагивать тему с модулями.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  4. #4
    Аватар для jeraqiv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.06.2015
    Адрес
    Двумерный массив
    Сообщений
    77
    Репутация:
    2 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    P.S.: Если вы не поняли ни слова из того, что я написал - это нормальная реакция и вам просто не стоит затрагивать тему с модулями.
    Если ничего не учить и не понимать - в конечном итоге ничего не получится. Я не из тех людей кто боится изучать что-то новое, ибо в IT всё построено на обучении и развитии. Спасибо за советы.

  5. #5
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Если вы хотите разрабатывать свою библиотеку, то при создании своей библиотеки вам придется учитывать множество факторов(глобальные переменные, перехват функций, создание макросов(define) и т.п.), которые не будут мешать тому, кто будет пользоваться вашей библиотекой(Смотрите любую библиотеку от Y_Less'a).
    Для того чтобы разрабатывать DLL библиотеки, вам нужно будет изучить «базовый уровень» языка C++, а также изучить библиотеку AMX(В интернете есть большое количество уроков по созданию своих плагинов, а также есть хороший PDF файл «Pawn_Implementer_Guide»).
    И как сказал Daniel_Cortez: «P.S.: Если вы не поняли ни слова из того, что я написал - это нормальная реакция и вам просто не стоит затрагивать тему с модулями.»
    Последний раз редактировалось VVWVV; 05.12.2015 в 13:58.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •