[aspectc-user] question about aspecting library functions

Hong Yuan hong at MPI-SoftTech.Com
Tue Jun 24 17:15:07 CEST 2003


How can I weave an aspect to the library function printf()
in the following code without using a wrapper function?

   #include <stdio.h>
   int main()
      printf("Please aspect me!");
      return 0;

I tried to use the following aspect to weave the above
code and failed. The string in the advice was not printed

   Aspect myAspect {
     advice executioon("% printf(...)") : before()
        printf("I can weave your library function");

It seems that if we want an aspect to crosscut a function
in a program, we must have that function defined in the
program. But the library functions like printf() are not
defined in any application program :(

One may suggest to add a wrapper function for printf()
in my program. Sorry, that's not what I want.

This question exists not only for using C/C++ default
libraries (such as stdio.h and iostream.h), but also
for using any user-created libraries.

Any suggestion or explaination will be really appreciated!


More information about the aspectc-user mailing list