2

Delphi 7 有宏预处理器吗?

没有内置的,所以也许有可能使用第三方或其他一些语言预处理器(如 c 预处理器)。

如果有,如何为 Delphi 7 设置它?

我正在尝试进行函数内联(为了速度)。宏预处理器似乎是 delphi 唯一简单的选择。

谢谢,埃贡

4

4 回答 4

4

在编译代码之前,您始终可以在代码上运行外部宏处理器,例如 m4 甚至(颤抖)cpp。但是,我不建议这样做-根据我的经验,内联的好处(这是您似乎想要做的)非常小,并且可以通过导致代码大小增加的减速来抵消。

于 2009-12-13T10:05:44.850 回答
2

这是我的使用方式m4

// uses lookup for counting bits
function PopCount(const Number: Cardinal): Byte;
begin
  Result := WordBitCount[Number and $FFFF] + WordBitCount[Number shr 16];
end;
{ M4 macro
define(PopCount, (WordBitCount[$@ and $FFFF] + WordBitCount[$@ shr 16]))
}

它仍然很容易编译,但可以使用m4.

于 2009-12-14T21:42:15.107 回答
1

您可以使用JEDI 代码库中的 [JEDI Pascal Preprocessor](JEDI Pascal PreProcessor) 。

您可以从其SourceForge 项目页面获取当前的 JCL 版本,并且可以在此处浏览 JPP 课程代码。

于 2009-12-13T11:58:35.937 回答
0

我在 Delphi 7 中没有听说过任何第三方宏,但如果可以选择,2007+ 版本会自动内联。

于 2009-12-13T09:54:23.560 回答