生产代码中面向方面的C(不是C ++)

| 这是从上一个问题中进一步得出的一个问题:https://stackoverflow.com/questions/1834485/aspect-iented-programming-aop-in-c-not-c-anyone-doing-it 这个问题的答案为我们指出了皇后大学的一些研究实践: http://sailhome.cs.queensu.ca/~bram/aspicere/index.html。 除了研究工作之外,有人知道生产代码中面向方面的C在现实世界中的用法吗?如果没有,您认为困难在哪里?如果是,那使它不受欢迎的障碍是什么? 我认为AOP的好处显而易见。但是,在AOP-Java流行了十年之后,AOP-C仍然几乎不存在,这一定是有原因的。您对此有何见解?     
已邀请:
经过一番思考后,我相信答案是C缺乏可用于连接方面横切面的结构构造。 为了解决这个问题,一个项目必须施加严格的结构约定,这很难让程序员达成共识。如果确实有程序员同意这样的约定,那么该项目很可能会选择更好的语言。     
我认为主要原因是,在C / C ++中实现AOP的传统方法需要复杂的框架才能使工作正常。 另外,C ++是严格的类型语言,这使得实现比C还要困难。 但是,这是旧时光。新的C ++ 11〜17提供了一些非常强大的功能供您完成所有技巧。 您可以检查以下内容:https://github.com/whitebob/qaop 一个非常轻巧的,仅标头的AOP框架,并且易于使用。 我是这个正在进行的项目的作者,因此,如果您有任何建议或投诉,请与我联系:p     

要回复问题请先登录注册