Це чудово, що ви хочете бути компілятором незалежним! На жаль, компілятори hitech та CCS для PIC низького класу використовують багато специфічних для компілятора декларацій препроцесора, специфічних для компілятора підпрограм доступу, а у випадку компілятора CCS - специфічні підпрограми для основних функцій доступу, таких як SPI, I2C, ADC тощо.
Неможливо записати свій код як некомпіляторний без безлічі препроцесорів #define, #ifdef, #ifndef тощо, щоб отримати доступ до певних частин того, що пропонує кожен компілятор. Це зробить ваш код нечитабельним.
Найкраще, що ви могли б прагнути - це бути незалежним IDE і використовувати щось на зразок затемнення, так що ви принаймні використовуєте ту саму IDE. Це призведе до втрати майстрів CCS для налаштування основних функцій, але надасть вам більшу гнучкість у використанні того ж IDE.
Інша річ, яку слід врахувати, - це те, що і hitech, і CCS не мають (принаймні, в минулому) справжнього посилання компілятора c і вимагали від вас використовувати "#include myfile.c", який я особисто зневажаю ... але це вже інша історія.
Я не коментував компілятор IAR, оскільки використовував лише CCS та hitech. Обидва працювали нормально, але я ніколи не був дуже задоволений тим, як переїхав з платформи Motorola (тепер вільний масштаб) та використовував компілятор metroworks, який був на той час більш просунутим. Компілятор IAR виглядає добре, але я ніколи його не використовував.