All streams
Search
Write a publication
Pull to refresh
18
0
Andrej Shadura @andrewsh

Consultant Software Engineer

Send message
> куда и зачем в связи с этим бечь

может, бежать?
кстати, насчёт конца строки — можно просто проверить символ на ноль.
Достаточно написать ещё несколько вспомогательных макросов, либо же нагенерить макрос скриптом ;)

С третьей стороны, если бы передо мной стояла такая задача, я бы просто считал нужные значения отдельным скриптом-препроцессором.
В общем, не читайте тех газет, которые говорят, что макросы — фуфло. Макросы — сила, пусть они и послабее шаблонов будут. Я вот когда мне не хватало возможностей препроцессора cpp (cpp != c++, это название самой программы-препроцессора C), подключил m4, который, кстати, является полноценным языком программирования.
Да Вы что? Компилятор давно разучился вычислять константы во время компиляции? o_O
Во-первых, Вы недооцениваете мощь макросов, в них это реализуемо :) Реализовывать именно этот алгоритм лень из-за того, что получится длинновото, но получится что-то в духе:
#define HASH(s) s[0]? ... : ...

где ... будут достаточно длинными :)

Во-вторых, если инструмент есть, если он работает, почему его нужно сознательно игнорировать?
Простите, но зачем шаблоны, когда гораздо проще и красивее было бы сделать то же самое макросом?
Тучки и дождик справа от текста улыбнули :)
Вот Вы же сами подтвердили, что фактически виртуальная консоль не может считаться консолью. Вдумайтесь. Основная «фишка» консоли — это то, что пользователю, грубо говоря, есть что нажать и есть откуда почитать. Виртуальные консоли Linux являются всего лишь «прослойкой» (собственно, ничем более они не могут являться, ибо это интерфейс драйвера консоли).
И да, консоль — в первую очередь то, что находится «по эту сторону», а не по ту, поэтому виртуальность её именно что сильно испортила.
Скажите, драйвер модема — это модем? Или же это только лишь его драйвер?
Слушайте, Вы что, избирательно читаете то, что я Вам пишу? Консоль по определению бывает только физическая. Виртуальные консоли консолями не являются и являться не могут.
Нет уж, послушайте, как раз только физические устройства рассматривать здесь и можно, ведь именно таковой является по определению. И ссылка на исходники неадекватна, ибо там речь идёт о console drivers, то есть драйверов, работающих с консолью и виртуализирующих (мультиплексирующих) доступ к ней. Не бывает виртуальных консолей, это абстракция, существующая только для того, чтобы иметь более одного «контекста ввода», что ли. Точно также, как и виртуальные рабочие столы и так далее. Консоль всё равно одна и состоит из всё тех же дисплея и клавиатуры (если хотите, можете ещё и мышь сюда приплести).
Ещё раз, это не консоль. Консоль — физическое устройство, а не программа. Кстати, на эту тему хорошо написано в Википедии:
'The system console, root console or simply console is the text entry and display device for system administration messages, particularly those from the BIOS or boot loader, the kernel, from the init system and from the system logger. It is a physical device consisting of a keyboard and a screen.'
Поправка: виртуальная консоль в линуксах. Не реальная. Слово «виртуальная» опускать нельзя, именно оно подчёркивает мультиплексность. Настоящая же консоль — по-прежнему клавиатура и дисплей (не видеокарта!).
Виртуальная консоль — в первую очередь средство мультиплексирования доступа к консоли реальной. А реализуется уже виртуальная консоль, например, посредством программы, называющейся эмулятором терминала.
Нет. Такую программу называют эмулятором терминала.
Неуместное сравнение. BIOS — вполне себе программа. А вот консолью называется исключительно устройство ввода вывода, состоящее обычно из дисплея с клавиатурой (хотя возможны модификации, например, вместо дисплея может быть принтер, либо могут добавляться другие устройства).
Ну так она же на то и виртуальная.
Простите, но консоль — ни разу не программа. Консоль = экран + клавиатура. Всё. Ни больше, ни меньше.

Information

Rating
Does not participate
Location
Bratislava, Словакия
Registered
Activity