DLL отслеживает вызовы функций - PullRequest
0 голосов
/ 10 июля 2010

Я никогда раньше не использовал dll (абсолютно без опыта), и я хотел заменить dll в приложении на ту, которая может как-то отлаживать (показать мне каким-то образом), какую функцию вызывали.

Так что, если у dll один был такой код (опять же, у меня нет опыта)

function test(var1, var2, num3){
   //dosomething
}

Я бы заменил на

dll.onfunccall = alert(call);

1 Ответ

0 голосов
/ 10 июля 2010

То, что вы описываете, является классическим приложением Аспектно-ориентированного программирования (AOP).В зависимости от того, какой язык и среду вы используете, существуют платформы и контейнеры AOP, единственной функцией которых является перехват вызовов DLL описанным вами способом, позволяющий вам выполнять некоторые операции до или после вызова DLL.

каноническим примером является логирование.Ведение журнала может происходить где угодно в вашей программе, и написание кода для каждого вызова DLL, чтобы его можно было записать, становится скучным в спешке.Но с помощью инфраструктуры AOP вы можете просто подключить все точки входа DLL одновременно, и каждая из них вызовет одну функцию ведения журнала.Это можно сделать несколькими различными способами.Некоторые платформы AOP делают это с помощью атрибутов метода.Другие вводят код в DLL.

Аспектно-ориентированное программирование - это работа с сквозными задачами .

См. Также :
http://en.wikipedia.org/wiki/Aspect-oriented_programming

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