代码优化问题(20分)

  • 主题发起人 主题发起人 铁盒子
  • 开始时间 开始时间

铁盒子

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure DebugMsg(const AStr:String);
begin
//此函数中没有任何代码。
end;
其它程序中调用DebugMsg(),保证能够执行到。则DebugMsg能否被优化掉
 
不会被优化调.除非不被调用到.
 
谢谢wr960204!
我问这个问题的目的,是想在程序中加入调试信息的输出代码,客户使用时出错好更容易的找到原因。
procedure DebugMsg(Const AStr:Srting)
begin
{$IFDEF DEBUG}
if FLog<>nil then
FLog.Add(AStr);
{$ENDIF}
end;
刚开始时,以DEBUG方式发给客户,用户可以选择以有Log和没有Log方式执行,当出错时用户就用有LOG方式再次执行,执行获得调试信息发送过来。等软件的成熟以后就可去掉Debug选项,优化掉调用的代码,这样就可获得更快的速度。当然在调用的地方使用{$IFDEF}也可以,这种信息可能很多,书写比较麻烦。
不知你是否有方法实现?或有其他更好的建议。
 
接受答案了.
 
后退
顶部