我试图理解和预测如何引用 DLL 中的函数。
当我们在访问的几个 DLL 中引用一些函数来进行一些计算时,在一些函数中,我们只是使用进程名称作为参数lpProcName
(例如"my_calc_function"
)。但是,在其他一些函数中(对于不同的 DLL),我们必须向lpProcName
(例如"?my_other_calc_function@@YA...."
)添加各种装饰
在一种情况下
m_lpfn_my_calc_function_pointer = (lpfn_my_calc_func)::GetProcAddress(m_hOneDll,"this_address_works");
在另一种情况下
m_lpfn_my_other_calc_function_pointer = (lpfn_my_calc_func)::GetProcAddress(m_hAnotherDll,"?this_address_has@@YAXNPEAN00PEAH@Z");
但是,这两项工作都有效,我想了解装饰的含义以及可以在哪里引用它们,以便在编写代码时可以预见它们。