Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 7 из 22 ПерваяПервая ... 5 6 7 8 9 17 ... ПоследняяПоследняя
Показано с 61 по 70 из 216
  1. #61
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Unreal Посмотреть сообщение
    Обновил до 3.10.6 и после у меня появляется это при компиляций:

    Код:
    Header size:          19392 bytes
    Code size:          3012404 bytes
    Data size:          2701860 bytes
    Stack/heap size:       4492 bytes; estimated max. usage=1090 cells (4360 bytes)
    Total requirements: 5738148 bytes
    это дебаг или что? до этого использовал стандартный 3.2
    С какими параметрами запускаете компилятор? Перечислите все ключи, которые есть в pawn.cfg (а также в settings.ini, если вы нехороший человек и пользуетесь Pawno).
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. #62
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Unreal Посмотреть сообщение
    Обновил до 3.10.6 и после у меня появляется это при компиляций:

    Код:
    Header size:          19392 bytes
    Code size:          3012404 bytes
    Data size:          2701860 bytes
    Stack/heap size:       4492 bytes; estimated max. usage=1090 cells (4360 bytes)
    Total requirements: 5738148 bytes
    это дебаг или что? до этого использовал стандартный 3.2
    Зачем уменьшать размер стека?)

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Проект переведён на аккаунт группы pawn-lang, которой на данный момент управляют 3 человека: Zeex, Y_Less и YashasSamaga. Также, судя по одному из проектов в группе, в скором времени возможно введение в строй сайта pawn-lang.org.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Адрес
    Минск, БССР
    Сообщений
    236
    Репутация:
    19 ±
    Перешел с 3.10.3 на версию от кортеза 3.10.5.

    Компиляция было: 8.1 сек.
    Компиляция стало: 1.6 сек.

    Честно признаться, я в шоке :)

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    Перешел с 3.10.3 на версию от кортеза 3.10.5.

    Компиляция было: 8.1 сек.
    Компиляция стало: 1.6 сек.

    Честно признаться, я в шоке :)
    Это ещё не предел, на подходе PR #255 - ускорение компиляции массивов с неоднородными начальными значениями. Лучше всего эффект заметен на больших массивах. Как уже написано в комментарии к тому PR, для инклуда modelsizes.inc время компиляции удалось уменьшить с 13.7 до 0.95 секунд.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. Пользователь сказал cпасибо:
    DeimoS (24.02.2018)
  7. #66
    Аватар для Fallen A.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Адрес
    Минск, БССР
    Сообщений
    236
    Репутация:
    19 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Это ещё не предел, на подходе PR #255 - ускорение компиляции массивов с неоднородными начальными значениями. Лучше всего эффект заметен на больших массивах. Как уже написано в комментарии к тому PR, для инклуда modelsizes.inc время компиляции удалось уменьшить с 13.7 до 0.95 секунд.
    У меня ощущение, что тебя скоро заблокируют за количество созданных тобой PR.

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Вышла новая версия 3.10.7.

    Скачать: https://github.com/Zeex/pawn/releases/tag/v3.10.7

    Изменения:
    • Нововведения и багфиксы для оператора emit (#279).

    • В варнинг о неиспользуемом идентификаторе добавлена информация о том, где идентификатор объявлен (#252).
      Раньше варнинг отображался на самой последней строке в скрипте, из-за чего приходилось самостоятельно искать место объявления переменной.
      Пример:
      1. #include <a_samp>
      2.  
      3. new g_var; // test.pwn(3) : warning 203: symbol is never used: "g_var"
      4.  
      5. main(){}

    • Добавлено больше информации в варнинг о несовпадении тегов (#265).
      Пример:
      1. #include <a_samp>
      2.  
      3. PrintInt(x)
      4. printf("%d", x);
      5.  
      6. main()
      7. {
      8. PrintInt(0.0); // warning 213: tag mismatch: expected tag none ("_"), but found "Float"
      9. }

    • Добавлен новый варнинг для бессмыссленных комбинаций спецификаторов класса (#246).
      Примеры:
      1. #include <a_samp>
      2.  
      3. // Знак "..." означает произвольное количество аргументов (например, как в printf()).
      4. // Аргументы, передаваемые таким образом, недоступны для изменения стандартными
      5. // способами, поэтому спецификатор класса const для них не имеет смысла.
      6. PrintInt(const ...) {}
      7.  
      8. main()
      9. {
      10. // warning 238: meaningless combination of class specifiers (const variable arguments)
      11. PrintInt(0);
      12. }

      1. #include <a_samp>
      2.  
      3. // "&" означает, что аргумент "x" передаётся по ссылке и функция может косвенно
      4. // вернуть значение через этот аргумент, однако атрибут const не позволит
      5. // изменить значение переменной, поэтому передача по ссылке бессмысленна.
      6. PrintInt(const &x)
      7. printf("%d", x);
      8.  
      9. main()
      10. {
      11. new val = 0;
      12. // warning 238: meaningless combination of class specifiers (const reference)
      13. PrintInt(val);
      14. }

    • Улучшена кодогенерация для функций с атрибутом naked (#271).

    • Оптимизации для более быстрой компиляции (#255, #269).
      Изменения заметны при использовании больших массивов, инициализированных неоднородными значениями. Например, для инклуда modelsizes.inc время компиляции удалось уменьшить с 13.7 до 0.95 секунд.

    • Изменена реализация хеш-таблицы из-за проблем с лицензией в предыдущей реализации (#240).

    • Версия библиотеки времени выполнения Visual C++ сменена обратно на 2010, что позволит запускать компилятор на более широком спектре систем на базе Windows без требования установки дополнительных библиотек.
      В предыдущих версиях добавление хеш-таблицы потребовало перехода на VC++ Runtime 2012, однако с новой реализацией хеш-таблицы (см. выше) данное требование пропало.

    • Исправлено необоснованное использование 128 Мб ОЗУ под хеш-таблицу для глобальных символов, кол-во слотов при запуске снижено с 16'777'216 до 16384.

    • Исправлены баги, связанные с работой оператора tagof (#245, #274).
      Один из кейсов уже обсуждался здесь.

    • Исправлены баги, связанные с работой деструкторов (#260).
      Да, в Pawn, оказывается, есть деструкторы.

    • Исправлены некорректные значения констант __compat и debug при использовании #pragma option (#253).

    • Исправлено падение компилятора при вызове функции с более чем 128 аргументами (#298).

    • Исправлено падение при использовании #pragma deprecated без указания текста сообщения.

    • Исправлено неправильное декодирование аргумента инструкции switch в листингах, выдаваемых дизассемблером (pawndisasm) (#236).

    • Исправлен баг в инициализации многомерных массивов, вызывавший падение компилятора в некоторых случаях (#220).

    • Исправлено форматирование многострочных сообщений от директив #pragma в выводе компилятора.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  9. 4 пользователя(ей) сказали cпасибо:
    DeimoS (26.04.2018) seriu (24.04.2018) Web (24.04.2018) ziggi (25.04.2018)
  10. #68
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Вышел релиз 3.10.8, состоящий из багфиксов и отмены изменений из предыдущего релиза, нарушаюших совместимость.

    Скачать: https://github.com/pawn-lang/compile...es/tag/v3.10.8

    Изменения:
    • Исправлена обработка пробелов при продолжении строк.
      Например, эта строка
      1. new str[] = "Hello \
      2. there";

      снова понимается компилятором как "Hello there", а не "Hello   there".

    • Убрано продолжение строк в однострочных комментариях.
      К примеру, следующий код снова будет выдавать ошибку:
      1. // Это комментарий\
      2. и это тоже


    • Добавлено исключение к приведённому выше правилу.
      Компилятор не выдаст ошибку, если после знака переноса "\" следующая строка начинается с "//".
      1. // Это комментарий\
      2. // и это тоже

      Это исключение упрощает комментирование кода, использующего продолжение строк (пример: макросы).

    • В варнинг о несовпадении тегов добавлено больше информации.
      1. native printf(str[], {Float, _}:...);
      2.  
      3. main()
      4. {
      5. new File:a;
      6. printf("%d", a);
      7. }

      Вывод компилятора:
      Код:
      warning 213: tag mismatch: expected tags "Float", or none ("_"); but found "File"
    • Исправлена обработка продолжения строк в препроцессорных сообщениях.
      1. #pragma deprecated Please\
      2. use\
      3. something\
      4. else
      5. Func() {}
      6.  
      7. main()
      8. {
      9. Func();
      10. }

      Вывод:
      Код:
      warning 234: function is deprecated (symbol "Func") Please use something else
      Обратите внимание: в отличие от строк, которым для совместимости было возвращено старое поведение при переносе, здесь знаки переноса заменяются на пробелы.

    • Исправлена обработка продолжений в макросах (возвращено старое поведение).
      Следующий пример больше не объявляет макрос с названием "MACRO5", а создаёт макрос "MACRO" со значением "5".
      1. #define MACRO\
      2. 5
    Последний раз редактировалось DeimoS; 02.07.2018 в 01:50.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  11. 2 пользователя(ей) сказали cпасибо:
    DeimoS (02.07.2018) ziggi (01.07.2018)
  12. #69
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Вышла версия 3.10.9. Как и в прошлый раз, нынешний релиз состоит в основном из багфиксов, но на этот раз есть и пара примечательных нововведений.

    Скачать: https://github.com/pawn-lang/compile...es/tag/v3.10.9

    Изменения:
    • Добавлены подсказки для случаев, когда пользователь сделал опечатку в названии переменных, функций и т.д.
      Пример:
      1. new var = 1;
      2. printf("%d", val); // error 017: undefined symbol "val"; did you mean "var"?

      Обратите внимание: после сообщения о необъявленном названии появилось "did you mean "var"?" (пер.: "вы имели в виду "var"?").
      Подобные подсказки работают для переменных, констант, функций, меток, автоматонов и состояний, у которых длина названия не меньше 2 символов.

    • Добавлена выдача варнингов 214 и 239, связанных с ошибками const-корректности, которые выдаются, когда объявленная на месте использования строка передаётся в функцию, но аргумент-массив не объявлен как const.
      1. #include <a_samp>
      2.  
      3. PrintString(str[]) // warning 214: possibly a "const" array argument was intended: "str"
      4. {
      5. print(str);
      6. }
      7.  
      8. main()
      9. {
      10. // Строка "test" по сути является неизменяемым массивом, но аргумент str
      11. // в функции PrintString объявлен без атрибута const.
      12. PrintString("test"); // warning 239: literal array/string passed to a non-const parameter
      13. }

      Чтобы в данном примере компилятор не выдавал варнинг, следует исправить заголовок функции
      1. PrintString(str[])

      1. PrintString(const str[])

      Данные предупреждения работают для всех типов функций, кроме public и native, т.к. много варнингов 214 и 239 выдаётся из-за некорректных заголовков функций в инклудах SA-MP (разработчики компилятора выбрали самый простой вариант и отключили варнинги для public и native, ибо глупо надеяться, что Kalcor исправит те баги).

    • Исправлено неправильное вычисление результата в цепочках константных (вычисляемых на этапе компиляции) выражений.
      Пример:
      1. const SOME_VALUE = 20;
      2. if (10 < SOME_VALUE < 30) // Условие никогда не выполнялось, хоть и должно выдавать true

    • Исправлено падение компилятора при указании необъявленной константы в качестве размера массива.
      1. new arr[10][unk][10]; // Здесь "unk" - название константы, которую забыли объявить

    • Исправлена ошибка, из-за которой компилятор пытался сгенерировать вызов несуществующего деструктора.
      1. forward operator~(Error:right[], size); // Деструктор объявлен, но не реализован
      2. main() {
      3. new Error:e; // При уничтожении переменной "e" компилятор сделает вызов несуществующего деструктора
      4. }

    • Дизассемблер (pawndisasm) больше не выводит лишние пробелы после инструкций, не имеющих параметров.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  13. Пользователь сказал cпасибо:
    bullplex (30.09.2018)
  14. #70
    Аватар для 123
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.02.2014
    Сообщений
    93
    Репутация:
    8 ±
    После обновления компилятора до версии 3.10.9, вылезло миллион варнингов типа 214 и 239. Ладно в моем моде, но и в сторонних инклудах типа foreach. И зачем этого было делать? Полезности это не несет.

 

 
Страница 7 из 22 ПерваяПервая ... 5 6 7 8 9 17 ... ПоследняяПоследняя

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

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

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

Метки этой темы

Ваши права

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