用于面向方面编程的ANSI C库

时间:2013-01-24 10:02:35

标签: c aop

我正在为面向方面编程寻找一个好的ANSI C库。

一些所需的功能是:

  • 访问和修改目标函数的参数。
  • 使目标函数返回并控制返回值。

我找到了aspeCt C(https://sites.google.com/a/gapp.msrg.utoronto.ca/aspectc/home),阅读文档似乎有我需要的一切,但是当按照说明操作make运行make来编译并通过测试时,测试失败了。

还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试AspectC++ 是一个将AspectJ方法扩展到C / C ++的项目。

例如,如果你想使用Aspect:

的简单C程序
int main() {
    printf("world");

}

然后你会有一个aspect.cc

before(): execution(int main()) {
    printf("Hello ");
}

after(): execution(int main()) {
    printf(" from AspectC ! \n");
}

您可以使用> acc hello.ac world.mc

进行编译

结果是:

gcc hello.c world.c
>./a.out
 Hello world from AspectC !