Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 36

Тема: delete_array(array[])

  1. #1
    boost::this_thread Аватар для Владокс
    Регистрация
    27.06.2010
    Адрес
    Екатеринбург
    Сообщений
    1,419
    Репутация: 225

    Звание: - весьма и весьма положительная личность

    Восклицание delete_array(array[])

    Здравствуйте.

    Данная функция предназначена для УДАЛЕНИЯ МАССИВА ИЗ СТЕКА (памяти).
    Тобишь, это равносильно удалению оператором delete массивов в C++.
    Функция на стадии БЕТА, так что за полную работоспособность не ручаюсь.
    Все баги, связанные с функцией, вы можете отписать в эту тему.

    PHP код:
    #define delete(%0); \
        
    delete_array(%0); \
            
    #pragma unused %0


    delete_array(array[], size = (sizeof(array) >> 2))
    {
        new
            
    arraySize,
            
    arrayStart,
            
    arrayEnd
        
    ;
        
        
    #emit LOAD.S.pri        12 
        #emit STOR.S.pri        arrayStart
        
        #emit SHL.C.pri         2
        
        #emit LOAD.S.alt        size
        #emit ADD
        #emit STOR.S.pri        arrayEnd
        
        
    arraySize = ((arrayEnd arrayStart) << 2);

        
    #emit LOAD.S.pri        arraySize
        #emit LREF.S.alt        array
        
        #emit ADD.C             4
        #emit PUSH.pri 
        
        #emit POP.alt 
        #emit SHL.C.pri         3
        
        #emit LOAD.S.alt        arrayEnd
        #emit DEC.alt
        
        #emit JZER
        #emit SREF.S.pri        arrayStart
        
        
    arrayStart /= 8;
        
        
    #emit PUSH.C            4
        #emit LCTRL             1
        #emit NEG
        
        #emit MOVE.alt
        #emit STOR.S.alt        arrayStart
        
        
    arraySize -= ((arrayEnd 32) >>> (arrayStart 16));
        
        
    #emit STACK             arraySize

    Пример:
    PHP код:
    main()
    {
        new 
    arr[32] = "Удали меня полностью";
        
    delete(arr);





    Связь со мной:
    Skype: bjiadokc | ICQ: 5462016 | Mail: [email protected]

    [1:03:15 | Изменены 1:03:25] SDraw: есть идеи блокнуть установщику сцампа доступ к системной папке?
    [1:03:45 | Изменены 1:03:51] SDraw: а то эта падла файлы directx заменяет внаглую
    [1:08:38] Vladislav Barabash: поставь файлы директа в ридонли
    [1:09:14] Vladislav Barabash: chmod r-x d3*.dll

  2. #2
    Администратор Аватар для Terner
    Регистрация
    11.04.2011
    Возраст
    27
    Сообщений
    2,824
    Репутация: 367

    Звание: - очень-очень хороший человек

    Re: delete_array(array[])

    Молодец

  3. #3
    ????????? Аватар для Константин
    Регистрация
    13.03.2011
    Адрес
    Омск
    Возраст
    27
    Сообщений
    2,032
    Репутация: 193

    Звание: - весьма и весьма положительная личность

    Re: delete_array(array[])

    Не хило.
    Грехи других судить Вы так усердно рветесь, начните со своих и до чужих не доберетесь. © Уильям Шекспир

    Конкурс на знание pawn № 3
    Конкурс PAWN & Improvisation


  4. #4
    Активный пользователь Аватар для Jack_Oliver
    Регистрация
    02.01.2012
    Адрес
    Perm
    Сообщений
    145
    Репутация: 5

    Звание: пока не определено

    Re: delete_array(array[])

    Это уменьшит нагрузку на сервер? Ну допустим при очистке массива с текстом, после его показа игроку.
    Skype: top10carry | Обращайтесь за помощью или заказом

  5. #5
    boost::this_thread Аватар для Владокс
    Регистрация
    27.06.2010
    Адрес
    Екатеринбург
    Сообщений
    1,419
    Репутация: 225

    Звание: - весьма и весьма положительная личность

    Re: delete_array(array[])

    это не очистка, это ПОЛНОЕ УДАЛЕНИЕ




    Связь со мной:
    Skype: bjiadokc | ICQ: 5462016 | Mail: [email protected]

    [1:03:15 | Изменены 1:03:25] SDraw: есть идеи блокнуть установщику сцампа доступ к системной папке?
    [1:03:45 | Изменены 1:03:51] SDraw: а то эта падла файлы directx заменяет внаглую
    [1:08:38] Vladislav Barabash: поставь файлы директа в ридонли
    [1:09:14] Vladislav Barabash: chmod r-x d3*.dll

  6. #6
    Активный пользователь Аватар для Jack_Oliver
    Регистрация
    02.01.2012
    Адрес
    Perm
    Сообщений
    145
    Репутация: 5

    Звание: пока не определено

    Re: delete_array(array[])

    Цитата Сообщение от BJIADOKC Посмотреть сообщение
    это не очистка, это ПОЛНОЕ УДАЛЕНИЕ
    Ну допустим, а нагрузка то уменьшится?
    Skype: top10carry | Обращайтесь за помощью или заказом

  7. #7
    Пользователь Аватар для Kazon
    Регистрация
    04.10.2011
    Адрес
    Беслан
    Возраст
    28
    Сообщений
    46
    Репутация: 12

    Звание: на пути к лучшему

    Re: delete_array(array[])

    Пфф ты с помощью это функции будешь очищать стэк

  8. #8
    Активный пользователь Аватар для Waskez
    Регистрация
    15.07.2012
    Сообщений
    826
    Репутация: 27

    Звание: на пути к лучшему

    Re: delete_array(array[])

    Цитата Сообщение от Kazon Посмотреть сообщение
    Пфф ты с помощью это функции будешь очищать стэк
    умный чтоли?

  9. #9
    Read-only Аватар для MacMailler
    Регистрация
    03.04.2012
    Адрес
    East Kazakhstan
    Возраст
    30
    Сообщений
    1,047
    Репутация: 211

    Звание: - весьма и весьма положительная личность

    Re: delete_array(array[])

    Не смог проверить функцию, проверял на new.pwn. Вот что пишет в логе.
    [21:06:24] Script[gamemodes/new.amx]: Run time error 22: "AMX not initialized (or doubly initialized)"

  10. #10
    Пользователь Аватар для F4tPAh0m
    Регистрация
    08.09.2012
    Возраст
    27
    Сообщений
    35
    Репутация: 6

    Звание: пока не определено

    Re: delete_array(array[])

    Как я понял

    Размер стека = 16384 байт.

    Создавая массив, например .
    new array[4]="бич";

    Из стека вычитается 4*4=16 байт.

    Когда мы удаляем массив, 16 байт возвращаются в стек.

    Так?

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Бан на время(error 047: array sizes do not match, or destination array is too small)
    от rassoft1994 в разделе Вопросы по скриптингу
    Ответов: 6
    Последнее сообщение: 31.08.2011, 22:34
  2. array must be indexed
    от Дмитрий) в разделе Проблемы с компилированием
    Ответов: 2
    Последнее сообщение: 11.08.2011, 20:48
  3. error 047: array sizes do not match, or destination array is too small
    от Страх в разделе Проблемы с компилированием
    Ответов: 4
    Последнее сообщение: 22.06.2010, 17:11
  4. array sizes do not match, or destination array is too small
    от Страх в разделе Проблемы с компилированием
    Ответов: 1
    Последнее сообщение: 27.05.2010, 15:06

Ваши права

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