Delphi 7 有宏预处理器吗?
没有内置的,所以也许有可能使用第三方或其他一些语言预处理器(如 c 预处理器)。
如果有,如何为 Delphi 7 设置它?
我正在尝试进行函数内联(为了速度)。宏预处理器似乎是 delphi 唯一简单的选择。
谢谢,埃贡
Delphi 7 有宏预处理器吗?
没有内置的,所以也许有可能使用第三方或其他一些语言预处理器(如 c 预处理器)。
如果有,如何为 Delphi 7 设置它?
我正在尝试进行函数内联(为了速度)。宏预处理器似乎是 delphi 唯一简单的选择。
谢谢,埃贡
在编译代码之前,您始终可以在代码上运行外部宏处理器,例如 m4 甚至(颤抖)cpp。但是,我不建议这样做-根据我的经验,内联的好处(这是您似乎想要做的)非常小,并且可以通过导致代码大小增加的减速来抵消。
这是我的使用方式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
.
您可以使用JEDI 代码库中的 [JEDI Pascal Preprocessor](JEDI Pascal PreProcessor) 。
您可以从其SourceForge 项目页面获取当前的 JCL 版本,并且可以在此处浏览 JPP 课程代码。
我在 Delphi 7 中没有听说过任何第三方宏,但如果可以选择,2007+ 版本会自动内联。