Not practically, but literally:
Note that conversion from a void * pointer to a function
pointer as in:
fptr = (int (*)(int))dlsym(handle, "my_function");
is not defined by the ISO C standard. This standard
requires this conversion to work correctly on conforming
implementations.
I remembered the dlsym requirement, I wasn't sure it was de-jure.