6

我是汇编语言的新手,我想到了这个问题:对于构建我的代码、宏或过程,哪个是更好的解决方案?虽然宏中包含的代码只是被复制到需要的部分,并且允许执行代码而无需昂贵的跳转,但它确实添加了必须在程序执行时加载的额外指令。此外,在过程中,虽然它减少了需要加载到内存中的代码,但它也增加了昂贵的跳转,从一段鳕鱼到另一段。哪一个更好?宏还是程序?

4

2 回答 2

6

一般来说,你应该使用程序。过程有助于组织您的代码,可以更容易地调试并避免重复相同的代码。在为较小的任务创建通用语法时可以使用宏,使您的代码更易于阅读。

当然,如果您真正关心性能而不关心代码的大小,您可能会扩展这种通用方法以支持更多的宏使用。

最后,您必须查看每个具体案例。但我可以告诉你,在过度使用宏之前我已经继承了代码。它不仅复制了更多代码,而且还需要很长时间才能找出源代码,因为我必须追踪所有这些宏定义并弄清楚它们实际上在做什么。

于 2012-12-06T17:36:36.017 回答
3

通常,过程使您的代码比宏更易于阅读,但请记住存在跳转成本。最重要的提示是这个;如果它是一小段代码(即您只想在代码主体中做一两件事),请使用宏,因为您对代码所做的事情不值得跳转/过程调用的成本。但是,如果您正在编写大量代码(即您在代码主体中做很多事情),那么您最好使用该过程,因为在这种情况下跳转的成本将非常小.

于 2013-02-12T09:02:49.547 回答