- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Имеем приблизительно такой код
#define XXX(n) ar[n]=s._field_##n;
XXX(01);
XXX(02);
XXX(03);
XXX(04);
XXX(05);
XXX(06);
XXX(07);
XXX(08);
Естесвенно при при компиляции получаем ошибку, т.к. 08 это неправильная восмеричная константа. Обойти можно так
#define XXX(n) ar[1##n-100]=s._field_##n;
Но как-то это некрасиво. Может есть более красивый подход?
Ну вот он один фиг генерит хедер из текстового файлика. Может проще тем же генератором и эту сишную функцию сгенерить?
З.Ы. Или одноимённые поля сразу сворачивать в массив, во время генерации хедера (hui01, hui02, hui03 -> hui[3]). Я не думаю, что есть кейсы, где DigitalInput[3] будет смотреться хуже чем DigitalInput03 (разве что если они не по порядку пронумерованы).
(кстати это не я туда это добавил)
https://ideone.com/zLJFyb
На C++ это легко пилится в компайл-тайме, а вот как сишным препроцессором так же сделать - хз...
https://ideone.com/GWp3OP
да. сделать из кривого массива (s._field_##n), нормальный массив, и не страдать х-ней.
Кстати, Пи некогда говорил, что можно и от гостя, и пост со своим номером запилить.
А я ещё где-то постил скрипт для автоматического создания таких комментариев на основе Пи-теории.
P. S. http://govnokod.ru/19807#comment321479
Вот с говнокодами - проблема есть. Там, хоть и на практике реально сделать, но в общем случае математически невозможно без перебора диапазона типа айдишника поста запостить ГК с его номером.
На ГК есть 4 варианта ГК - существующие, заминусованные, удалённые и несуществующие. Причём удалённые выглядят так же, как несуществующие. Заминусованные говнокоды заставляют не доверять главной и в общем случае перебирать все посты, возможен бинарный поиск. Удалённые говнокоды нарушают бинарный поиск, т.к. граница "сущесвующий-несуществующий" стирается, нужен полный перебор.
Нужно постить либо во время, когда давно не было удалённых постов, либо быстро создавать два поста, один из них быстро заминусовывать, чтобы он не появился ни в стоке, ни на главной не задержался.
С гк тоже в чем проблема? Постишь первый, смотришь номер, быстро постишь второй.
Проблему с номером ГК описал. Если действовать быстро и без записи, можно получить номер за O(N) запросов, за O(logN) в нормальное время и за O(1) в добровремя.
▲
▲ ▲
или http://lurkmore.to/images/8/82/3kget_legendary.jpg, за которую никто уважать не будет.
Правда, за номер в посте тоже уважать никто не будет, но хоть не залошат.
В теории процесс может оказаться бесконечным.
http://imgur.com/Xg1XKWn
— Нет!
— И в мыслях не было!
— 73 — это двадцать первое простое число, его зеркальное отражение 37 является двенадцатым, чьё отражение 21 является результатом умножения — не упадите — семи и трёх!
Тебе делать нехуй? :)
Там Роман обратил внимание на название шрифта «Акбар», а пидар влез с Украиной?