Вы можете отключить переменную сеанса, используя:
session_unset
- освобождает все переменные сеанса (она равна использованию: $_SESSION = array();
) unset($_SESSION['Products']);
- Отменить только индекс продуктов в переменной сеанса. ( Помните : вы должны использовать как функцию, а не как вы использовали) session_destroy
- уничтожает все данные, зарегистрированные на сеанс Чтобы узнать разницу между использованием session_unset
и session_destroy
, прочитайте этот ответ SO . Это помогает.
Можно использовать %w0
если я помню право. Я просто протестировал его, также.:-)
int
test(int x)
{
int y;
asm ("rorw $8, %w0" : "=q" (y) : "0" (x));
return y;
}
Править: В ответ на OP, да, можно сделать следующее также:
int
test(int x)
{
int y;
asm ("xchg %b0, %h0" : "=Q" (y) : "0" (x));
return y;
}
В настоящее время единственное место (что я знаю о) это документируется в, gcc/config/i386/i386.md
, не в любой стандартной документации.
В то время как я думаю об этом... необходимо заменить "q" ограничение капиталом "Q" ограничение во втором решении Chris:
int
test(int x)
{
int y;
asm ("xchg %b0, %h0" : "=Q" (y) : "0" (x));
return y;
}
"q" и "Q" немного отличаются в 64-разрядном режиме, где можно получить самый низкий байт для всех целочисленных регистров (топор, основной обмен, cx, дуплекс, СИ, di, SP, BP, r8-r15). Но можно только получить второй самый низкий байт (например, ах) для четырех исходных 386 регистров (топор, основной обмен, cx, дуплекс).
Так, по-видимому, существуют приемы, чтобы сделать это..., но это не может быть настолько эффективно. 32-разрядные x86 процессоры являются обычно медленными при управлении 16-разрядными данными в регистрах общего назначения. Необходимо сравнить его, если производительность важна.
Если это не (a) очень важная производительность и (b) оказывается намного быстрее, я сохранил бы меня некоторая стычка обслуживания и просто сделал бы это в C:
uint32_t y, hi=(x&~0xffff), lo=(x&0xffff);
y = hi + (((lo >> 8) + (lo << 8))&0xffff);
С GCC 4.2 и-O2 это оптимизировано вниз к шести инструкциям...
Глюк. Хорошо, если это - примитивная стандартная программа, что Вы собираетесь быть многократным использованием много раз, у меня нет спора с ним... прием именования регистра, что Chris, на которого указывают, является хорошим, которого я оказываюсь перед необходимостью помнить.
Было бы хорошо, если бы это превратило его в стандартные документы GCC также!