Привет Sergey!
07 Oct 04 11:44, Sergey A. Borshch писал All:
SB> 1) Кому не лень иногда мылом или аськой отвечать на глупые вопросы про SB> заточке uCLinux под мое железо, сборку инструментов и т.д.?
А можно не мылом? Я тоже как-то хотел его применить, мне было бы интересно послушать. По поводу инструментов типа gcc и binutils могу лишь сказать, что с этим (в отличие от uClinux) никаких проблем у меня никогда не было. Просто делаешь все по инструкции - и все получается.
SB> 2) В SB> исходниках Линукса встречается такая конструкция: #define SB> SOME_THING SB> \ do { \ func(arg1,arg2); \ } while (0)
SB> что-то я никак не догоню, зачем функцию "оборачивать" в do {} while?
Таким образом обычно в языке C оборачивают не функцию, а блок операторов ({}). Дело в том, что после блока операторов в языке C не ставится ";". В результате если ты определишь такой макрос:
#define SMTHNG(x) \ { f1((x) + 5); f2((x) - 10); }
то тебе придется всегда помнить, что SMTHNG() - это не функция, а макрос, и ставить после него ";" не надо, иначе это будет пустой оператор. А вот если этот блок обернуть в do...while(0), то с точки зрения синтаксиса он уже будет неотличим от вызова функции, что гораздо удобнее - не надо забивать себе голову деталями, а потом искать, почему что-то не работает.
Всего наилучшего, [Team PCAD 2000] Алексей М. ... Западно-уральское региональное общество добровольных учредителей.