关闭Delphi 2010 RTTI的方法

今日见到的,虽然未用上D2010不过先记录下来。

扩充的RTTI信息将使编译生成的文件大小巨幅增大,而如下是关闭RTTI的方法:


There are some options which reduce the final executable size somewhat:

{$WEAKLINKRTTI ON} or dcc32 –weaklinkrtti command-line option

But a recompile of choice RTL and VCL units is required to eliminate much actual RTTI data, using this directive:

{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

The ‘EXPLICIT’ causes any classes defined after this point in the file to not inherit RTTI settings from the ancestor class, while the method, property and field clauses indicate that no extended RTTI should be produced for any of these elements at any level of visibility.

Having a decent level of RTTI available by default means that third-party libraries can assume its existence. The default level includes RTTI for all fields, which means that object graphs (modulo external resource links) are e.g. serializable at the binary level by default; public methods and properties having RTTI means that e.g. containers using Inversion of Control can apply to objects by default.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值