Почему так категорично? Есть переменныые среды, соответствующие типу компилятора. Если тупо - пишем N кусков, заточенных под конкретику. Иначе - зависимые кусочки разделяем по дороге. Например, пишу обработчик прерывания - там модификаторы типа __irq с разных сторон или атрибуты - всю строку прописываю N раз (под разные компиляторы) и по типу компайлера препроцессор выбирает. Тело же функции остаётся практически неизменным. Конечно, если, например, пожелали вложенности, то в IAR можно воспользоваться встроенными макросами, в других средах в поставке их может не быть - ну дык если их нет, то всё-равно писать. Если не написан - ставьте #error, пока не начнете отлаживать и не наткнётесь;)
Как по мне, зависимые от среды куски кода нужно максимально обособлять от pure C. А правила если и писать, то всё-равно придётся.
Особой сложностью при автоматизации вижу варианты с изменением дерева проекта конкретного IDE. ОбхОдится командной строкой, но неприятно не иметь полноценного проекта, привязанного к IDE. Были бы форматы открыты - можно было бы играть. Есть, правда приблуды в природе, позволяющие на скриптовом языке описывать макросы по самозаписанному шаблону кликанья мышью, но как-то не пробовал;(
-
- Можно то оно можно... Evgeny_CD(800 знак., 20.06.2006 18:08, )