We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
we have a pretty huge C166-application with approimately 600 source files. The generated code takes about 500kB. If I just compile one file within uVision2 it takes up to 70 seconds for compilation and linking. Does anybody know a possibility to speed up this process significantly? Thank you ...Leo
I am not familiar with the C166 products, but it seems that your speed problem is as much related to linking as it is to compilation. Linkers spend most of their time resolving externals. Generally, the time taken to link goes up with the square of the number of externals to be resoloved. To speed up linking, you should take steps to reduce the number of externals that the linker needs to handle at any one time. Use locals where possible and group functions that share common data into the same modules so that the data do not have to be resolved externally. Some linkers are able to do partical or incremental links. This allows the developer to group sub-sets of closely coupled modules together and link them into partially linked object modules. The partially linked modules are then linked together. This requires several invokations of the linker, but the square law means that the process is quicker overall. If most of your modules change infrequently, consider building a library. Carefully constructed libraries can be linked in quickly because they present relatively few unresolved externals.