Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Такие штуки чем проще надо делать:
Такие штуки чем проще надо делать:
Сделал так как написано (#define NCHECK 1000 вставил перед OnInit), только компилятор пишет "expression not boolean" с жёлтым треугольником и курсор возле %. А с bool компилятор не ругается:
чет обсуждение в сторону ушло, но раз проще, так проще:
первый раз в жизни вижу такую конструкцию, выглядит чудно, но работает, даже !IsStopped() не нужен - исправно, без тормозов выгружается правым кликом мышиТаки заставили.
Результаты удивили :)
Так что думайте сами, решайте сами, я использую дальше, как и использовал, !IsStopped() без премудростей.
Если обнаружите ошибки, пишите.
Таки заставили.
Результаты удивили :)
Ничего удивительного. Вы же добавили дорогую операцию постоянного получения остатка от деления в цикле. А это по ресурсам сопоставимо с исполнением тела цикла.
А IsStopped на самом деле в коде превращается в тройку ассемблерных операций вида, что работает очень быстро. То есть, никакого вызова функции нет.
mov eax, _StoppedFlag cmp eax,0 jne Exit_label
чет обсуждение в сторону ушло, но раз проще, так проще:
первый раз в жизни вижу такую конструкцию, выглядит чудно, но работает, даже !IsStopped() не нужен - исправно, без тормозов выгружается правым кликом мышиДело в том, что на некоторых системных функциях мы принудительно проверяем флаг остановки и выходим. В данном случае автоматическая проверка сработала на Sleep().
Без такого прозрачного механизма многие программы бы очень долго выгружались или попросту зависали.
А есть возможность посмотреть где-нибудь классификацию операций по "дороговизне"?
Померять.
Ничего удивительного. Вы же добавили дорогую операцию постоянного получения остатка от деления в цикле. А это по ресурсам сопоставимо с исполнением тела цикла.
А IsStopped на самом деле в коде превращается в тройку ассемблерных операций вида, что работает очень быстро. То есть, никакого вызова функции нет.