zHz00 Untitled

пятница, 08 февраля 2019
23:59 Польза пустоты
Иногда надо поставить точку остановки в программе по условию. Типа -- если произведение трёх переменных меньше, чем 1,2 -- остановиться. В средах разработки могут присутствовать готовые "условные точки останова", но они негибкие и жутко тормозят (по крайней мере в вижуал студии).

Обычно я делал так:

if(a*b*c<1.2)
a=a;//сюда пихаю точку останова

Написать во второй строчке просто ";" нельзя -- точка останова ставиться не будет. Остаётся только написать бессмысленное действие типа a=a.

Так думал я, пока не увидел, что есть специальное бессмысленное действие для этих целей. Доступно оно не во всех компиляторах.

NOP. No operation. Эта команда ассемблера присутствует во всех процессорах, даже в калькуляторе МК-52. Она... ничего не делает. Насколько мне известно, изначально команда предназначалась для затирания ей лишних частей программы без перемещения всего остального (чтобы адреса не c'ехали).

Если в вашем компиляторе есть макрос типа Nop(), как он есть в MPLAB X-IDE (для PIC'ов), его можно использовать для организации точек останова, вот так:

if(a*b*c<1.2)
Nop();//сюда пихаю точку останова

Отличие от a=a; в том, что Nop() -- заведомо бессмысленное действие, поэтому сразу понятно, зачем тут написано это условие и этот Nop().

@темы: Программирование

URL
Алекс, не мог сразу сказать, что-ли, что хрен мне что све...
Глаз, всматривающийся в себя, ничего не видит. Ухо, вслуш...
у нас в инсте на прошлой неделе проректор умер...я все по...
Вчера 40-летняя Лина чуть не повесилась в туалете на собс...
Интересное место www.pain.com Веселее всего подпись ...
Писал уже, что корейские мамы предпочитают таскать своих ...

09.02.2019 в 13:43

09.02.2019 в 13:43
NOP(e).
URL

10.02.2019 в 12:50

10.02.2019 в 12:50
RetXiRT suiR@ttig@$, хаха, так и запомню!
URL

10.02.2019 в 14:56

10.02.2019 в 14:56
Trust me, I'm an engineer
Er-er-erecting gear!
Я просто сразу вспомнил тот клип по второй Team Fortress с нарезкой моментов, где инженер говорит "Nope".

URL
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail