Напишите DLL с использованием Visual C ++, которая предоставляет свой интерфейс в качестве функций Windows STDCALL C. Функции Windows API выполняются аналогично. Те функции, которые вы выставляете в интерфейсе, будут выполнять функции, которые вам необходимо заменить в вашей программе. Внутри DLL вызовите новую библиотеку MS VC ++ без всяких усилий.
Итак, чтобы получить функцию, которая вызывается из C и использует протокол стека STDCALL, сделайте что-то вроде этого:
extern "C" int __stdcall foo();
вам также нужно будет добавить информацию для экспорта функции из DLL. Вы можете сделать это явно в объявлении так:
extern "C" __declspec(dllexport) int __stdcall foo();
Но вам понадобится отдельный заголовочный файл для использования в вашем коде BorlandC (который, вероятно, имеет разный синтаксис для указания части импорта DLL и части STDCALL). В Visual C ++ объявление, которое вы используете в клиенте, будет выглядеть примерно так:
extern "C" __declspec(dllimport) int __stdcall foo();