Например, чтобы вычислить натуральный логарифм числа, я Я закодировал три функции с именами LnXMacL, LnXHalley и LnXagm. Они реализуют натуральный логарифм тремя различными методами: рядом Маклорена, методом Галлея и средним арифметико-геометрическим. Все они демонстрируют одинаковую точность до нескольких сотен десятичных знаков, но ряд МакЛорена намного быстрее, чем два других. Поэтому вместо того, чтобы переименовывать его во что-то вроде LogX, для исторической справки я бы предпочел сохранить исходное имя нетронутым и создать псевдоним LnXMacL. Мне также хотелось бы, чтобы этот псевдоним отображался в качестве видимой точки входа в DLL, поскольку я часто использую C# для прототипирования сложных математических функций, а затем переношу их на C++. Заголовок трех функций выглядит следующим образом:
Код: Выделить всё
extern "C" __declspec(dllexport) void __stdcall LnXMacL(UINT64* LnX, UINT64* xM);
extern "C" __declspec(dllexport) void __stdcall LnXHalley(UINT64* LnX, UINT64* xM);
extern "C" __declspec(dllexport) void __stdcall LnXagm(UINT64* LnX, UINT64* xM);
Код: Выделить всё
extern "C" __declspec(dllexport) void __stdcall LogX(UINT64* LnX, UINT64* xM);
Я использую Visual Studio 2022 в Windows 11 машина. У меня есть десятилетия опыта написания кода на C, но всего несколько лет на C++. Любая помощь будет принята с благодарностью. Я тщательно искал по этому форуму и нашел много информации о псевдонимах, но не нашел ничего о создании псевдонима для одной и той же точки входа в DLL.
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-in-c-dll