|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
||||||
Что делает данный код и зачем такое кому-нибудь может понадобиться?08.06.2009, 23:57. Показов 11094. Ответов 38
Метки нет (Все метки)
Я ответил на вопрос,но точной формулировки не нашёл,хотел бы свериться(приложения с ответами нет).Задание:
Чёрный ящик.Что делается в данном примере?Зачем кому нибудь может понадобиться подобный код?
8
|
||||||
| 08.06.2009, 23:57 | |
|
Ответы с готовыми решениями:
38
Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы Может кому понадобиться Выключение/перезагрузки компа и завершение сеанса Зачем вообще может понадобиться передавать структуру? |
|
|
|
| 30.06.2011, 15:38 | |
|
Evg, Евгений подскажите пожалуйста почему при (count%8)==4 я попадаю на метку 6:? при первом проходе.
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 30.06.2011, 15:44 | |
|
0
|
|
|
|
|
| 30.06.2011, 16:17 | |
|
ValeryLaptev, Валерий, может вы подскажете?
Добавлено через 8 минут все разобрался сорриДобавлено через 7 минут а где это можно применить? в книге вопрос по применению конструкции
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 30.06.2011, 16:35 | ||
|
Ибо главное качество программы - читабельность. А потом уже эффективность. Что толку в эффективности, если читающий программист не может внести изменения, поскольку не понимает, как такое может работать. И при внесении изменений НЕИЗБЕЖНО возникают ошибки. Поэтому - НАФИГ Страуструпа с подобными конструкциями!
0
|
||
|
|
|||
| 30.06.2011, 16:50 | |||
|
Конкретно в случае с данным switch'ом код можно было бы разбить на два куска: preloop со switch'ом но без цикла и сам цикл. Код получился длиннее, но понятнее для людей. Да и наличие метки с переходом извне внутри цикла, постфактум на многих компиляторах приводит к тому, что компилятор отключает некоторые оптимизации (дабы не усложнять компилятор ради нескольких дебильных случаев). Добавлено через 1 минуту
0
|
|||
| 30.06.2011, 17:44 | |
|
Не по теме:
0
|
|
|
|
|
| 30.06.2011, 17:50 | |
|
1
|
|
|
|
|
| 30.06.2011, 18:08 | |
|
а в чем смысл того что начало расположено в 0:? если вынести do над 0: тоже работает. в чем особый смысл располагать так?
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 30.06.2011, 18:26 | ||
|
0
|
||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 30.06.2011, 18:37 | ||
0
|
||
|
|
|||
| 30.06.2011, 20:09 | |||
|
1
|
|||
|
|
||
| 30.06.2011, 20:17 | ||
|
0
|
||
|
|
|
| 08.04.2018, 11:47 | |
|
http://shura.luberetsky.ru/201... a-i-palok/
Первые несколько абзацев можно пропустить и начать со слов "А теперь сделаем еще один шаг вперед" Я как-то не особенно понял великий смысл конечного использования данного механизма. Ибо довольно смутно понимаю, что такое "кооперативная многозадачность" и прочие фичи, которые более понятны операционщикам. Хотя по внешнему виду кода в общих чертах понимаю, про что там идёт речь В любом случае я нифига не понимаю, ради чего нужно было так извращаться. Всё это самое можно было переписать без идиотского switch'а и получить в итоге код, который намного проще читать, отлаживать и сопровождать, а следовательно, он будет более надёжным В duff's device использование switch'а реально приводило к профиту, по крайней мере на старых процессорах, где не было out-of-order execution. А здесь как-то сомнительно, что от этого что-то начнёт работать быстрее Исключение составляет случай, когда PT_WAIT_UNTIL'ов может быть несколько штук внутри функции example. В этом случае действительно получается, что без извращённого switch'а уже просто так не переписать. Но если оно так и есть, то автору следовало бы так и написать в примерах. Возможно, что для него это было слишком очевидно и он не стал этого делать. Я тут ничего не могу сказать, ибо не знаю, как подобные коды устроены на практике. Но если PT_WAIT_UNTIL'ов может быть только одна штука, то геморрой со switch'ами того не стОит Добавлено через 15 минут Кажется, понял, о чём тут речь. Не знаю, как это называется умными словами, но похоже на то, что описывается реализация потоков без использования операционной системы. Т.е. внутри одного процесса создаётся имитация нескольких программных потоков, и силами самогО же процесса осуществляется поочерёдное исполнение этих потоков. Если это так, что в общем случае PT_WAIT_UNTIL'ов действительно может быть несколько штук внутри функции. Они имитируют уход на прерывание операционной системы в "нормальном" варианте. Но в нашем случае тут в роли операционной системы выступает сам процесс, который имитирует потоки, а потому PT_WAIT_UNTIL приводит к тому, что мы выходим из середины функции и при повторном вызове сразу же попадаем в ту точку, откуда в прошлый раз завершили исполнение. Проблемы подобного подхода автор статьи описал в двух последних абзацах, но это в общем-то стандартные проблемы для любого варианта программной имитации потоков без использования операционной системы
0
|
|
| 08.04.2018, 11:47 | |
|
Помогаю со студенческими работами здесь
39
зачем может понадобиться делать операторы виртуальными? кто нибудь может объяснить, что делает эта функция? Что делает данный код?
Что делает данный код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|