hi all,
i am building 8051 application in keil compiler.i got an warning message when linking... like this..... *** WARNING L16: UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT :?PR?_ANALOGVOL?ANALOG
from the above warning ...analogvol is an function..analog is a file name which is having the definition of analogvol....please help me to find out this and how to clear..... thanks in advance. m.y.sam
What do you need help finding out? The text is quite explicit.
If you have functions that you don't need, you can either delete them, drop the source file from the project (if it doesn't contain any other symbols that you do use) or encapsulate the function with a #ifdef/#endif block like:
#ifdef _SKIP_UNUSED ... #endif
"drop the source file from the project (if it doesn't contain any other symbols that you do use)"
Or simply clear its 'Include in Target Build' option...
http://www.keil.com/support/man/docs/uv3/uv3_ca_filegrp_att.htm
Or, with the LX51 Linker, see: http://www.keil.com/support/man/docs/lx51/lx51_removeunused.htm
a simple "tide me over" is
bit helper; ... helper = 0; if (helper) { MyCurrentlyUncalledFunction(): }
The beauty of this method is that it does not interfer once you start using the function.
Erik
PS I guess that some "optimizer happy" person can work out how to make this work even when optimizing.
is to have that function alone in a file and put the generated .obj in a library. Then it does only get included when called
View all questions in Keil forum