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 rarely ask questions on this forum, but since I couldn't [easily] find it in the help-files, or on-line, I'm asking you guys.
I usually (like never) don't use the 'reentrant' pragma, but I think I may have to do that with a particular routine.
BUT I can't find the key-word that declares a function as reentrant. Am I missing something? Is there one for Keil's IDE tools? If so, what is its form? Can I get a link to the 'official' use of it?
Thanks in advance, and I need it asap because I need to pass this class and I don't want to really learn how to do this 'embedded' stuff anyway but the teacher keeps hounding me.
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
This is incorrect as are the things you go on to conclude from this statement.
Recursive calls imply concurrent execution of the function in question. Concurrent execution is a synonym for reentering a function. Whether or not the concurrent execution is done from separate threads or from the same thread is irrelevant.
Yes, and my point was that reentrancy is a concept rather than something which must exist as a compile time option.
Mr Sprat, I see you've wholeheartedly failed to read and understand my postings. I think I've made it abundantly clear the the compiler trying to create reentrant functions is a necessary, but not sufficient condition for any particular function to be reentrant (that's also basic logic, you should know what those terms mean).
Hence, it is impossible to create a (meaningful) recursive function with a compiler that does not consider functions reentrant (such as C51).
I really don't think I need to, since you can undoubtedly read, but if you consider it necessary I'll show you the appropriate passages from my earlier postings.
No.
Yes. It is not possible to broadly allow recursive functions (as the C standard does) without the compiler considering all functions reentrant by default and making the appropriate provisions.
We're getting close to the point here where I'll start considering more nebulous, unproven statements from you as a concession.