I think `GetLastError` after `GetProcAddress` can be used to distinguish from symbols that were not found, and attempts to load symbols from an unloaded library. I don't know whether or not libdl has the equivalent functionality; I tried finding something but again, I could only find `dlerror` which returns strings. Is `errno` set after `dlsym`?