是否有Delphi 7的宏预处理器?
没有一个内置,所以也许有可能使用第三方或其他语言预处理器(如c预处理器)。
如果有的话,如何为Delphi 7设置它?
我正在尝试进行函数内联(速度)。宏预处理器似乎是delphi的唯一简单选择。
谢谢, 埃贡
答案 0 :(得分:4)
在编译代码之前,您始终可以在代码上运行外部宏处理器,例如m4甚至(shudder)cpp。我不建议这样做 - 根据我的经验,内联的好处(你似乎想做的事情)非常小,可以通过减速导致代码大小的增加来抵消。
答案 1 :(得分: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
。
答案 2 :(得分:1)
您可以使用[JEDI Pascal预处理器](JEDI Pascal PreProcessor),它是JEDI Code Library的一部分。
您可以从SourceForge project page获取当前的JCL版本,然后您可以浏览JPP课程代码here。
答案 3 :(得分:0)
我还没有听说过Delphi 7中的任何第三方宏,但是如果这是一个选项,那么2007+版本会自动内联。