void remove_function_definition(void * pfunc)
The first way to redefine a function is to undefine it, and then to give it its new definition. After a remove_function_definition call, the function whose name is given as argument remains simply undeclared. However, it is not possible to undefine an active function (during its execution), nor to undefine a predefined function.
Obviously, this way is cumbersome when you want to redefine several functions, for instance when you want to reload a file. In this case you will probably prefer the following function: