Экспортируйте одну и ту же функцию из C ++ dll под разными именами и разными адресами с включенной функцией удаления избыточных COMDAT. - PullRequest
1 голос
/ 28 февраля 2011

Я работаю над Excel XLL Addin, который требует экспорта функций по имени. Для моих требований мне нужны две экспортированные функции для внутреннего вызова одной и той же функции. Как это:

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

Если в параметрах оптимизации компоновщика указана опция Remove Redundant COMDATs (/OPT:ICF), экспортируемые функции указывают на один и тот же адрес. Это недопустимо, поскольку Excel кэширует адрес, поэтому addin не работает должным образом.

Есть ли вариант, вместо добавления пустышки параметр для внутренней функции, чтобы предотвратить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...