【发布时间】:2011-05-09 20:50:07
【问题描述】:
我目前正在使用 C 进行编码,并且我有很多 printfs,因此我可以在某些时候跟踪我的应用程序的流程。问题是有时我想要比其他人更多的细节,所以我通常会花时间注释/取消注释我的 C 代码,以便获得适当的输出。
使用 Java 或 C# 时,我通常可以使用 Aspects 将我的实现代码与日志记录逻辑分开。
您在 C 中使用过任何类似的技术来解决这个问题吗?
我知道我可以放置一个名为 DEBUG 的标志,它可以打开或关闭,这样我就不必在每次想要显示或隐藏 printfs 时到处评论/取消评论我的整个代码。问题是我还想摆脱代码中的日志记录逻辑。
如果我用 C++ 编码而不是 C,会更好吗?
编辑
似乎有一个AspectC++,所以对于C++来说似乎有一个解决方案。 C呢?
谢谢
【问题讨论】:
-
AspectC++ 看起来好像可以用于与 C 非常接近的代码,以实现大多数实际用途。例如,您似乎可以加入免费函数(即不属于任何类的函数)。
-
什么是 Java/.NET 方面?
-
@DeadMG: en.wikipedia.org/wiki/Aspect-oriented_programming 可能会让您入门。不过,我认为如果不实际使用它们,可能无法理解这些方面。