Hello. Is there any way to simplify the call tree manipulation in linker..? (Scripting kind of) My code has number of function calls through pointers. The functions are divided in few main groups. I want to achieve overlay among the functions of an individual group.(Intragroup) At the same time I want to avoid overlaying among the functions from different groups.(Intergroup) Adding and removing the references for every function from every other function is big task. I somehow managed it at the moment. However it is not good practice from the long term perspective.
So, can I define a list of functions which can be used at multiple places in linker script. Or can I share a macro from compiler to the linker..?
Best regards, Vivek.
Hey dude.
Why don't you admit you don't know what your talking about?
Just do it properly.
H Burger MSt
My system requirements will always result in multiple function calls through pointers. No matter how I design it. that reminds me of a fatty Italian sausage. If you can't design without function pointers, you are not a designer but a coder
The nice thing with software development is that there are often an almost infinite number of ways a problem can be solved. And often, quite a lot of solutions will work well.
But when it comes to the 8051 architecture, quite a number of solutions that could work well on other processors will suddenly become sub-standard - the 8051 is not a processor designed for general support of high-level languages.
Without a general stack functionality and pointer functionality, there is only so much you can do when trying to get the processor to support the C language.
The good thing about C, is that a well designed program can often be moved to other hardware architectures with a reasonable amount of work. And it's often meaningful to regularly reevaluate used hardware components of existing products, since most products are in need of constant cost reductions. Or in need of adaptability to changing market requirements.
Being stubbord with continued reuse of old hardware designs or software designs is seldom a good way to protect the market shares or to fight for new market segments. It takes investments to push forward - standing still and trying to defend current positions is just an example of stagnation. The competition will not stand still, but will look at improving their products to overrun such a defence.
Just curious - exactly how large is the total binary?