Сообщения bk_
[LOR] Статистика
[c] Почему к имени поля структуры добавляют сокращенное имя структуры?
Например,
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
...
};
или
struct sockaddr_in {
short sin_family; // e.g. AF_INET, AF_INET6
unsigned short sin_port; // e.g. htons(3490)
struct in_addr sin_addr; // see struct in_addr, below
char sin_zero[8]; // zero this if you want to
};
Я понимаю, что это нужно для написания небольшого короткого имени переменной структуры
struct sockaddr_in a;
, и краткое непонятное имя переменной структуры компенсируется расширенным именем поля структуры с префиксом
a.sin_family = AF_INET4;
Или для это нужно для чего-то другого?
Почему разработчики Linux не используют UML для документации?
Чем они руководствуются? Просьба отвечать конструктивно - мне нужны причины.
[c] xcalc math.c
#ifdef _CRAY /* kludge around Cray STDC compiler */
double (*log_p)() = log;
#define log ((*log_p))
double (*exp_p)() = exp;
#define exp ((*exp_p))
double (*sqrt_p)() = sqrt;
#define sqrt ((*sqrt_p))
double (*log10_p)() = log10;
#define log10 ((*log10_p))
double (*atan2_p)() = atan2;
#define atan2 ((*atan2_p))
double (*asin_p)() = asin;
#define asin ((*asin_p))
double (*acos_p)() = acos;
#define acos ((*acos_p))
double (*atan_p)() = atan;
#define atan ((*atan_p))
double (*sin_p)() = sin;
#define sin ((*sin_p))
double (*cos_p)() = cos;
#define cos ((*cos_p))
double (*tan_p)() = tan;
#define tan ((*tan_p))
double (*pow_p)() = pow;
#define pow ((*pow_p))
#endif /* _CRAY */
Какой в этом смысл?
[ничего_не_поделаешь] Красная плесень
Кто и когда клепал клипы-флэшки для «песен» КП?
Случайно увидел на тытрубе. АФАИК, они же песни пели в 90-х, а тогда флэша не было.
[lor-translate] Как правильно перевести?
Instead of just writing a program in Lisp, you can write your program on Lisp, and write your program in that.
===
taken from here - http://www.ebhakt.info/blog/?p=2291
[c] casting float->int and int->float
Разъясните мне, пожалуйста, или дайте линк на _правила_ кастования в С в таких случаях:
5 / 6 = {int}
5 / 6.0 = {int, float, double}
5.0 / 6 = {int ,float, double}
5.0 / 6.0 = {float, double}
5.0f / 6.0 = {float, double}
5.0 / 6.0f = {float, double}
5.0f / 6.0f = {float, double}
Результат этих действий, ясен хрен, мне известен. Хочу выработать единый системный взгляд на эту проблему с точки зрения правил/стандарта.
[c] sizeof(unsigned long) == sizeof(void *) ?
Я правильно понимаю, это правило выполняется всегда?
Shallow xml regexp parsing
[^<]+|<(!(--([^-]*-([^-][^-]*-)*->?)?|\[CDATA\[([^]]*]([^]]+])*]+([^]>][^]]*]([^]]+])*]+)*>)?|DOCTYPE([ \n\t\r]+([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*([ \n\t\r]+(([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*|"[^"]*"|'[^']*'))*([ \n\t\r]+)?(\[(<(!(--[^-]*-([^-][^-]*-)*->|[^-]([^]"'><]+|"[^"]*"|'[^']*')*>)|\?([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*(\?>|[\n\r\t ][^?]*\?+([^>?][^?]*\?+)*>))|%([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*;|[ \n\t\r]+)*]([ \n\t\r]+)?)?>?)?)?|\?(([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*(\?>|[\n\r\t ][^?]*\?+([^>?][^?]*\?+)*>)?)?|/(([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*([ \n\t\r]+)?>?)?|(([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*([ \n\t\r]+([A-Za-z_:]|[^\x00-\x7F])([A-Za-z0-9_:.-]|[^\x00-\x7F])*([ \n\t\r]+)?=([ \n\t\r]+)?("[^<"]*"|'[^<']*'))*([ \n\t\r]+)?/?>?)?)
http://www.cs.sfu.ca/~cameron/REX.html#AppB
Этот регексп должен парсить xml. Кому не лень, сэкранируйте там что-нибудь, чтобы запустить его в баше.
Сколько стоит комп такой конфигурации
Хочу продать работающий компьютер. Сколько будет стоит системник вот такой конфигурации:
материнка - asus p4c800
pentium 4 3.0GHz
ram 1gb
видеокарта radeon 9250
жесткий диск 60GB
CD-RW + DVD-RW приводы 2шт. (пишущие)
floppy drive 1шт.
[wtf] Дата сегодня
Fatal error: Uncaught exception 'Exception' with message 'DateTimeZone::__construct() [<a href='datetimezone.--construct'>datetimezone.--construct</a>]: Unknown or bad timezone ()' in /usr/local/data/www/data-segodnya.ru/index.php:54 Stack trace: #0 /usr/local/data/www/data-segodnya.ru/index.php(54): DateTimeZone->__construct(") #1 {main} thrown in /usr/local/data/www/data-segodnya.ru/index.php on line 54
Быдлокодинг?
emerge VS apt-build
Знающие люди, расскажите, чем отличается результат после пересборки мира в генте и пересборке мира в дебиане с указанием в обоих одинаковых флагов оптимизации компилятора?
[2 Zhbert] samsung n150
Zhbert, если есть возможность, сфоткай, пожалуйста, свой нетбук с разных сторон.
GPL3 требует включения в начало каждого файла проекта инфы о ней?
Сабж (другими словами, нужно в начало каждого файла исходников в проекте добавлять краткую инфу, что, мол, проект под gpl3 или просто сослаться на файл COPYING? Или это не обязательно?).
memcpy в обратном порядке
Интересуют всевозможные варианты функции, аналогичной memcpy, но копирующей данные в обратном порядке (побайтово или по 16 бит etc).
Интересуют любые аппаратные платформы.
Разбить существующий раздел
Подскажите, пожалуйста, как можно fdisk-ом «откусить» от существующего раздела ext3 или ntfs часть и сделать ее новым разделом?
Возможно ли такое с logical (не primary) разделами?
Высоконагруженный сервер на Qt
Кто-нибудь когда-нибудь писал сервер чего-либо на Qt, в требованиях которого значилось «устойчив к высокой нагрузке»?
Насколько сам Qt позволяет сделать такое?
Конкретные цифры, что именно означает высокая нагрузка, в моем случае такие: за 1 секунду сервер должен обрабатывать 1000-5000 клиентов. На один сеанс приходится примерно 10КБ трафика от клиента и 10-100КБ от сервера.
Выбор нетбука для gnu/linux
Подскажите хороший нетбук, на котором линукс работает со всеми железками: bluetooth, wifi etc.
Самый большой приоритет - хорошая долгоиграющая батарея.
Посоветуйте хороший выбор.
[C89] libconfig - парочка удобных вспомогательных функций
По ходу разработки одного проекта написал несколько функций, которые позволяют удобно загружать/сохранять данные через libconfig'овские структуры.
https://github.com/zdo/libconfig_helper
Может, кому будет полезно.
Краткое описание:
умеет работать со «скалярными» типами (int, char*, float), массивами скаляров и массивами структур.
Все это в добавок обернуто в небольшую систему логирования. Так что, при возникновении ЛЮБОЙ ошибки в лог (struct hlog, see code) будет записано точное место ошибки с описанием и местом в иерархии (н-р, «exams[0].tests[1].questions[3].text: some error cause»).
Осталось забацать пару примеров. Сейчас они есть только как часть другого проекта - zexam.
← назад | следующие → |