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.
Hi Friends, I'm Currently working on C51v6.02 developed by Keil, I'm facing a problem with the compiler when I compile a similar code like this
main() { char xdata *Data_Ptr = 0x0000; /* Pointer to the 0x000 location */ while(some loop) *Data_Ptr++; /* Points to the next data location on the RAM-- here 0x0001 */ }
.\FILENAME(LINENUMBER): warning C275: FILENAME: expression with possibly no effect
Proudly wasting time since 1981
Yaswanth, " I guess we need to do it this way. char xdata *Data_Ptr; Data_Ptr = (char *) 0x0000; /* I guess this is the way it must be done */ /* If done this way */ Data_Ptr = 0x0000; /* you are not type casting it then in that case the compiler should/will give a warning -- Haven't tried it though. */ " There isn't necessary to do casting because it is only initialized pointer to char in xdata memory at location 0. Compiler cannot be confused anyway I think. C51 Keil compiler don't generate warning in this case. Rest of your question: I agree with Mike's last and Andrew's second contribution. Vaclav