I'm using Linux operating system and I don't want to use any demo, cracked or restricted in function C compiler.
Rudolf
You can probably scratch SDCC off your list, then, as it's PIC support was pretty rudimentary last time I checked, and the output very suspect. It's strongest for the '51 parts.
For a mid-range or 18-series part (PIC 12/16/18). I recommend you do check out the LITE version of the Hi-Tech compilers (Now part of Microchip). Even if you don't have all the optimizations, you do get some of them, and the LITE compilers are otherwise fully functional, and support all the Microchip parts. Similarly, the Microchip C30 and C24 remove advanced optimizations from the evaluation versions, but the compilation and part support is otherwise unrestricted (and you can compile these from source, with effort, to enable the optimizations.) I would trust the output from either of these far more than SDCC, and the optimization, though limited, will be better.
For hobby stuff (or development for a low-budget start-up) it's not a big deal if the generated code is a bit bigger and a bit slower; you can always jump to a similar part with more memory. When you are ready to build your product in sufficiently high volume that a $2 difference in price matters, you can probably afford to buy the optimizing version of the compiler.
Anyway, you can usually find more room and more time by reviewing your algorithms and code design than by better compiler optimization.
Before switching to Hi-Tech, I used the CCS compiler, which is great for hobbyists because it is really easy to use, and provided super-easy setup and interfaces for all the peripherals. I was able to get up and running quickly even without any prior PIC experience. However, the opacity of their development process, constant introduction of new bugs, and constant lagging of their Linux version behind the windows version finally convinced me that this was not my best choice for professional development. Hi-Tech was a night-vs-day improvement from the software maintenence and reliabilty standpoint.
Dave