Youda He wrote: > > What is the difference for CCS and MPLab C Compiler? are they from > different company? quality? There is no "MPLAB" C compiler. MPLAB is an integrated development environment (IDE). All of the C compilers you listed can be used from within MPLAB - they all come with (or you can download) a plug-in which allows them to integrate into MPLAB. Some of the C compilers also (optional extra for some of them) come with their own IDE, which you may or may not prefer to MPLAB. Perhaps you meant Microchips's C compilers, such as C18? Note that Microchip does not supply a C compiler for PIC16s and below; you have to get a 3rd party compiler (CCS, HI-TECH, MikroC, Boost C) for them - but you can still use most of those compilers with MPLAB. > Hi-tech seems in general more expensive, are they better in quality? > Assume I start using student version from MPLab, can I recompile the > code easily using different compiler? > is there anything I need to worry as far as using different compiler > to recompile the code? Ah, so I guess you do mean C18 here. In general, no, you can't just take code written for one C compiler and compile it on another. For an extreme case (two ends of the spectrum, in a sense), take a look at my baseline C tutorials (http://www.gooligum.com.au/tut_baseline_C.html) where I use both free HI-TECH C compilers (PRO in Lite mode, and PICC-Lite) and CCS PCB for each example, with comparisons of source code length, program and data memory usage. You'll see that, although it's straightforward once you know what you are doing, porting code between the CCS and HI-TECH compilers isn't simple - CCS relies on a lot of built-in functions, which the HI-TECH compilers do not offer. You'll also see that data types are different (e.g. size of an int or short, or different names for a "bit" data type - something the ANSI standard doesn't define). Now you seem to be looking at 18F compilers, but the situation in analogous. Different ways of accessing registers and bits, library functions, and data sizes. Different include files. > Most of the sample code are in the form of MPLab C Compiler? Can I use > different compiler on the sample code? Not directly, but you can learn from the sample code for any compiler. > Do all the compiler using same method to call assembly code? No, calling conventions (e.g. how to access the C program's variables, how to call a function) is something that's different as well. Of course they will all have similar principles, but the details will vary. David Meiklejohn www.gooligum.com.au -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist