वह महान जिसे आप संकलक स्वतंत्र होना चाहते हैं! दुर्भाग्य से हाईटेक और CCS कम अंत PIC के लिए कंपाइलर विशिष्ट प्रीप्रोसेसर घोषणाओं, कंपाइलर विशिष्ट पिन एक्सेस रूटीन का बहुत उपयोग करते हैं, और CCS संकलक विशिष्ट रूटीन जैसे SPI, I2C, ADC और इतने पर एक्सेस कोर कार्यों के लिए उपयोग करते हैं।
बहुत सारे प्रीप्रोसेसर #define, #ifdef, #ifndef इत्यादि के बिना अपने कोड को नॉन-कंपाइलर विशिष्ट होना संभव नहीं है और प्रत्येक कंपाइलर के विशिष्ट भागों तक पहुँच पाने के लिए। यह आपके कोड को अपठनीय बना देगा।
सबसे अच्छी बात जो आप लक्ष्य कर सकते हैं वह है आईडीई स्वतंत्र होना और ग्रहण जैसी किसी चीज़ का उपयोग करना, इसलिए कम से कम आप उसी आईडीई का उपयोग कर रहे हैं। यह कोर कार्यों को स्थापित करने के लिए सीसीएस जादूगरों को खोने का परिणाम देगा, लेकिन आपको उसी आईडीई का उपयोग करने में अधिक लचीलापन देगा।
विचार करने के लिए एक और बात यह है कि हाईटेक और सीसीएस दोनों (कम से कम अतीत में) एक सच्चे सी कंपाइलर लिंकर नहीं है और आपको "#include myfile.c" का उपयोग करने की आवश्यकता है, जो कि मैं व्यक्तिगत रूप से घृणा करता हूं ... लेकिन यह एक और कहानी है।
मैंने IAR कंपाइलर पर कोई टिप्पणी नहीं की है क्योंकि मैंने केवल CCS और हाईटेक का उपयोग किया है। दोनों ने ठीक काम किया, लेकिन मैं मोटोरोला (अब फ़्रीस्केल) प्लेटफ़ॉर्म से पार करने और मेट्रोवर्क्स कंपाइलर का उपयोग करके वास्तव में कभी भी खुश नहीं था, जो उस समय अधिक उन्नत था। IAR कंपाइलर अच्छा लगता है लेकिन मैंने कभी इसका इस्तेमाल नहीं किया।