Bagus sekali bahwa Anda ingin menjadi kompiler independen! Sayangnya hitech dan CCS compiler untuk PIC low-end menggunakan banyak deklarasi preprocessor spesifik kompiler, rutinitas akses pin spesifik kompiler, dan dalam kasus rutin khusus kompiler CCS untuk fungsi inti akses seperti SPI, I2C, ADC dan sebagainya.
Tidak mungkin untuk menulis kode Anda menjadi non-kompiler spesifik tanpa banyak preprocessor #define, #ifdef, #ifndef dan seterusnya untuk mendapatkan akses ke bagian-bagian tertentu dari apa yang ditawarkan oleh setiap kompiler. Ini akan membuat kode Anda tidak dapat dibaca.
Hal terbaik yang dapat Anda tuju adalah menjadi IDE independen dan menggunakan sesuatu seperti gerhana, jadi setidaknya Anda menggunakan IDE yang sama. Ini akan mengakibatkan hilangnya CCS wizard untuk pengaturan fungsi inti, tetapi akan memberi Anda fleksibilitas yang lebih besar dalam menggunakan IDE yang sama.
Hal lain yang perlu dipertimbangkan adalah bahwa hitech dan CCS tidak memiliki (setidaknya di masa lalu) linker c compiler yang benar dan mengharuskan Anda untuk menggunakan "#include myfile.c" yang saya pribadi benci ... tapi itu cerita lain.
Saya belum mengomentari kompiler IAR karena saya hanya menggunakan CCS dan hitech. Keduanya bekerja dengan baik, tetapi saya tidak pernah benar-benar senang dengan baik setelah bermigrasi seberang dari platform Motorola (sekarang freescale) dan menggunakan kompiler metroworks yang lebih maju pada saat itu. Kompiler IAR terlihat bagus tetapi saya belum pernah menggunakannya.