Можем ли мы импортировать и экспортировать функцию из DLL - PullRequest
0 голосов
/ 08 марта 2012

У меня есть DLL сказать «A.dll», которая экспортирует функцию «int foo ()». У меня есть другая DLL сказать «B.dll», который потребляет A.dll и использует функцию foo (), а также экспортирует некоторые другие функции. Можно ли экспортировать функцию "int foo ()" (импортированную из A.dll) из B.dll, чтобы ее можно было использовать в третьем dll "C.dll".

Я хочу знать, возможно ли это или нет, я не хочу обходных путей, например, сделать A.dll доступным для третьей библиотеки DLL. Кроме того, меня не беспокоит плохой дизайн или нет.

Большое спасибо за ваше терпение, чтобы прочитать это до конца.

Капил.

1 Ответ

0 голосов
/ 12 марта 2012

Как только A.dll экспортирует одну функцию, эта функция будет доступна любому приложению (как B.dll ее использует).C.dll также сможет импортировать экспортируемые функции из A.dll.Кроме того, вы можете воспользоваться так называемым механизмом «Пересылка экспорта» (см. URL ), который позволяет экспортировать функции из B.dll и реализовать их в A.dll (например, \ system32 \ sfc.dll функции экспортакоторые пересылаются в \ system32 \ sfc_os.dll)

...