0
有沒有辦法從運行時加載的DLL加載所有函數?當前代碼:加載全部DLL函數
hGetProcIDDLL = LoadLibrary(dll);
typedef int(*f_connection_a)(args);
typedef int(*f_connection_b)(args);
typedef int(*f_connection_c)(args);
f_connection_a connection_a = (f_connection_a)GetProcAddress(hGetProcIDDLL, "connection_a");
f_connection_b connection_b = (f_connection_b)GetProcAddress(hGetProcIDDLL, "connection_b");
f_connection_c connection_c = (f_connection_c)GetProcAddress(hGetProcIDDLL, "connection_c");
正如你所看到的,這很快變得繁瑣,你必須像這樣定義的每個DLL函數。有沒有辦法加載所有DLL函數,而不必列出它們?
而且,您打算如何調用這些函數,而不用調用'GetProcAddress'來獲取某個函數的入口點地址?另外,在這裏你不是_loading_函數。整個.dll被LoadLibrary調用加載,所以當它返回時 - 所有的函數都已經被加載了。 –
我在詢問是否有辦法讓這個過程自動化。 – ViliX64
您可以導出一個函數,該函數返回指向該庫中所有其他函數的指針數組。 – VTT