使用Remove Redundant COMDATs,在不同的名称和不同的地址下从C ++ dll导出相同的函数

时间:2011-02-28 13:03:00

标签: c++ winapi visual-c++

我正在处理Excel XLL Addin,需要按名称导出函数。根据我的要求,我需要两个导出函数来在内部调用相同的函数。 像这样:

LPXLOPER WINAPI func1(...)
{
   return MyFunc();
} 
LPXLOPER WINAPI func2(...)
{
   return MyFunc();
} 

在链接器优化选项中指定Remove Redundant COMDATs (/OPT:ICF)选项时,函数exports指向同一地址。这是不可接受的,因为Excel会缓存地址,因此addin无法按要求运行。

是否有任何选项而不是添加虚拟  内部函数的参数是为了防止这种情况?

0 个答案:

没有答案