Keil™, An ARM® Company

Technical Support

C251: INDIRECT FUNCTION CALLS


Information in this article applies to:

  • C251 Version 2.00

QUESTION

I'm using C251 Version 2 and need help with function pointers and reentrancy.

ANSWER

C251 Version 2 introduces a new compiler directive FUNCTIONS. This directive specifies whether functions pass parameters in fixed memory locations (like previous versions) or whether parameters are passed on the stack (like most C compilers where stack space is not an issue).

To pass parameters on the stack, compile your code as follows:

C251 mycode.c  FUNCTIONS(REENTRANT)

When compiled this way, you have no limitations with regards to function pointers, indirect function calls, and reentrancy.

Last Reviewed: Sunday, January 30, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure