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!
Yes, there is certainly a lot of that!
:-(
I was thinking of that as an example of "naivety of novice [C51] programmers"
Thanks your advice and dicuss about that.
The solution to link the ?C_initseg at the last setp is very easy.
I just want to know about that link procetrue is right or safe? Maybe it is a keil's bug.
After I check ,it is safe.
anyway thanks
No - it is your mis-use (and/or misunderstanding) of the tools that is causing the problem!
The solution is to fix the basic problem in your project structure - not to try to workaround the fallout from it!