Только если вести БД пакетного менеджера у себя же в home.
А для установки наверняка понадобится делать chroot.
А для этого надо быть рутом либо иметь привилегию CAP_SYS_CHROOT.
А чтобы неподготовленная программа заработала без chroot, надо будет чтобы она нашла свои библиотеки (можно добиться установив LD_LIBRARY_PATH), а так же и остальные свои части (тут уже от программы самой зависит).
В целом, проще и правильнее будет её пересобрать из исходников, задав правильный --prefix для configure.
>> А вот если стоит do {...} while(false), то я знаю наверняка, куда мы попадём после break: в конец блока, который видно даже невооружённым беглым взглядом, кинутым по диагонали.
Как метка так и конец блока могут как быть так и не быть в пределах досягаемости беглого взгляда. Метка хороша тем, что это не какая-то безликая скобочка и ее можно найти поиском. И она не уйдет со своего места, если кто-нибудь захочет поместить внутрь do {} while(0) вложенный цикл, по случаю охватывающий и ваш break.
1. Да, могут. тут нужно чувство меры. как правило, если в выражении больше 3 бинарных логических операторов, то уже пора.
2. Да, будет непонятное выражение. Вот тут уже можно его и на стадии разбить. Ну и повторно использовать, если вдруг.
>Можно ли быстро понять, что тут написано?
>
>// ПЛОХО
>if (figureX > leftLimit && figureX < fightLimit && figureColor == GREEN)
>
>Подсветка, конечно, помогла бы, но и без подсветки следующее выражение читается на много проще:
>
>// ХОРОШО
>if (figureX > leftLimit &&
> figureX < fightLimit &&
> figureColor == GREEN)
Мне кажется, единственный надежный способ быстро понять, что здесь написано — вынести выражение в отдельную функцию и дать ей говорящее имя. Всё равно остается непонятно, что имелось в виду и не ошибся ли автор логического выражения или тот кто это выражение недавно правил.
Но широко распространенные компиляторы, типа gcc или msvc выделяют кадр стека один раз при входе в функцию и не меняют esp/ebp ходя по блокам внутри неё.
Кроме того, вызов конструктора и деструктора будет весить наверно больше, чем изменение размера кадра стека.
Из man readline:
delete-char (C-d)
Delete the character at point. If point is at the beginning of the line, there are no characters in the line,
and the last character typed was not bound to delete-char, then return EOF.
> От себя я скажу лишь то, что открыл их совершенно случайно, когда довольно сильно привык к emacs. И, к слову, интересно было бы узнать побольше подобного рода комбинаций, которые используются наиболее часто
man readline, чтобы было меньше случайностей и больше систематики. Там об этом написано.
Действительно, в пакетах maemo5 ядро 2.6.27, а драйвер wi-fi — wl12xx. Теперь понятно, почему Nokia ссылалась на занятость своих инженеров в ответ на технические вопросы касательно stlc4560.
1) В этом проекте все тестировалось на реальном железе. В других проектах OSLL используется NS2.
2) Дело в том, что mac80211-based драйвера wi-fi — это тонкая прослойка, адаптирующая железо к mac-уровню, который в ядре представлен библиотекой mac80211.ko. Сам черновик стандарта 802.11s, реализованный проектом o11s, уже включен в состав mac80211. Драйвер же должен настроить железо для правильной рассылки маячков (beacon), установить правильный пакетный фильтр и скомпенсировать проявившиеся при этом особенности firmware. Исходный драйвер stlc45xx поддерживал только режим клиента точки доступа (managed), в котором станция не генерирует маячки. Так что всю маячковую инфраструктуру, общую для ad-hoc и mesh пришлось просто реализовать.
Это превратилось в такой код:
и замедлило работу ~ в 100 (!!!) раз.
После укорачивания внешнего цикла в 100 раз результат такой:
Т.е. ответ: «да, 2 достижима на практике» (:
Цикл превратился в это:
Выводит:
0: 0
1: 0
2: 0
3: 0
4: 0
5: 0
6: 0
7: 0
8: 0
9: 0
10: 39
11: 3
12: 2
13: 2
14: 2
15: 3
16: 4
17: 3
18: 4
19: 9
20: 999929
21: 0
А для установки наверняка понадобится делать chroot.
А для этого надо быть рутом либо иметь привилегию CAP_SYS_CHROOT.
А чтобы неподготовленная программа заработала без chroot, надо будет чтобы она нашла свои библиотеки (можно добиться установив LD_LIBRARY_PATH), а так же и остальные свои части (тут уже от программы самой зависит).
В целом, проще и правильнее будет её пересобрать из исходников, задав правильный --prefix для configure.
Как метка так и конец блока могут как быть так и не быть в пределах досягаемости беглого взгляда. Метка хороша тем, что это не какая-то безликая скобочка и ее можно найти поиском. И она не уйдет со своего места, если кто-нибудь захочет поместить внутрь do {} while(0) вложенный цикл, по случаю охватывающий и ваш break.
2. Да, будет непонятное выражение. Вот тут уже можно его и на стадии разбить. Ну и повторно использовать, если вдруг.
>
>// ПЛОХО
>if (figureX > leftLimit && figureX < fightLimit && figureColor == GREEN)
>
>Подсветка, конечно, помогла бы, но и без подсветки следующее выражение читается на много проще:
>
>// ХОРОШО
>if (figureX > leftLimit &&
> figureX < fightLimit &&
> figureColor == GREEN)
Мне кажется, единственный надежный способ быстро понять, что здесь написано — вынести выражение в отдельную функцию и дать ей говорящее имя. Всё равно остается непонятно, что имелось в виду и не ошибся ли автор логического выражения или тот кто это выражение недавно правил.
if (isFigureTarget(figureX, figureColor))
Кроме того, вызов конструктора и деструктора будет весить наверно больше, чем изменение размера кадра стека.
delete-char (C-d)
Delete the character at point. If point is at the beginning of the line, there are no characters in the line,
and the last character typed was not bound to delete-char, then return EOF.
> От себя я скажу лишь то, что открыл их совершенно случайно, когда довольно сильно привык к emacs. И, к слову, интересно было бы узнать побольше подобного рода комбинаций, которые используются наиболее часто
man readline, чтобы было меньше случайностей и больше систематики. Там об этом написано.
а заодно там же говорит, где поправить, чтобы работало
не TAB, а Ctrl+F по-умолчанию?
2) Дело в том, что mac80211-based драйвера wi-fi — это тонкая прослойка, адаптирующая железо к mac-уровню, который в ядре представлен библиотекой mac80211.ko. Сам черновик стандарта 802.11s, реализованный проектом o11s, уже включен в состав mac80211. Драйвер же должен настроить железо для правильной рассылки маячков (beacon), установить правильный пакетный фильтр и скомпенсировать проявившиеся при этом особенности firmware. Исходный драйвер stlc45xx поддерживал только режим клиента точки доступа (managed), в котором станция не генерирует маячки. Так что всю маячковую инфраструктуру, общую для ad-hoc и mesh пришлось просто реализовать.