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.
I have a function,but the compiler terminated because the function is too complex.
C51 FATAL-ERROR - ACTION: GENERATING INTERMEDIATE CODE ERROR: FUNCTION '_siParseDescriptor' (LINE 1058, T=400,L=132,l=1): TOO COMPLEX C51 TERMINATED.
"What's the purpose of the "do {} while(0)" in your create macro? Simple curly braces should work as well to introduce a local block." Not quite. Consider the use of a function-like macro (i.e., terminated with a semicolon) in an if/else clause expanding to the curly brace from only. Please refer to: http://www.eskimo.com/~scs/C-faq/q10.4.html The do/while(0) method is the safe way to define a function-like (multi-statement) macro.