Q:

Can imported library functions get moved in memory

Assuming that a library is not unloaded and reloaded, will a function address pointing to a function in a library stay the same for whole execution time?
HMODULE hm = LoadLibrary("SomeLibrary.dll");
SomeFunction fn = (SomeFunction)GetProcAddress(hm, "SomeFunction");
fn(arg1, arg2); // is fn valid for whole execution time?

A:

Assuming that a library is not unloaded and reloaded, will a function address pointing to a function in a library stay the same for whole execution time?

Yes.

