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.
when i add startup.a51 ,init.a51 and C51S.LIB to my project.the link result as below:
INPUT MODULES INCLUDED: test.obj (TEST) aa.obj (AA) .\STARTUP.obj (?C_STARTUP) .\INIT_TNY.obj (?C_INIT) C:\Keil\C51\LIB\C51S.LIB (?C?COPY)
?c_init segment is not the last segment in the link process, is that right?
when i delet startup.a51 and init.a51 from project ,then rebuild it ,the segment of ?c_init is linked at the last step showed below;
INPUT MODULES INCLUDED: test.obj (TEST) aa.obj (AA) C:\Keil\C51\LIB\C51S.LIB (?C_STARTUP) C:\Keil\C51\LIB\C51S.LIB (?C?COPY) C:\Keil\C51\LIB\C51S.LIB (?C_INIT)
i think the send link is right, how about the first link step, is it right?
thanks you!
But obviously those evangelists of inline assembly must exist somewhere out there. How else to explain that so many Keil newbies come here firmly believing inline assembly is the be-all and end-all of efficient programming in C?
I have, on occasion seen C51 horrible code based on the philosophy that "C is C". If you do not know the difference between a PC and a '51 that is what you get.
An example would be that some complain about efficiency while using the large model (I can not be bothered by memory spaces, by the way, what is that?). Another would be looking at 'blinky' and asking "where is the OS?".
Fortunately, the want ads for "a programmer" for a micro without requiring micro experience are slowly waning. However it is still often seen as 'desired' rather than 'required'
Erik