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");
ただし、これらはどちらも機能しますが、装飾の意味と、装飾を参照できる場所を理解し、コードを記述しているときに装飾を予測できるようにしたいと考えています。