这样应该能优化吧 function abc:boolean; var arr:array [0..999] of integer; begin code.... end;改成 var fun_abc_arr:array [0..999] of integer; function abc:boolean; begin fillchar(fun_abc_arr,sizof(fun_abc_arr),0); code.... end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嘿嘿,你好像写反了,全局变量系统会帮你初始化,而函数中的变量,使用之前是需要手动初始化的至于效率,肯定是批量操作要比逐个操作快些,但是这也不一定,就FillChar来说,仅仅是你写的代码和汇编代码之间的区别,其实现方式也一眼上循环赋值 先谢谢 你的回复你可能没理解我的意思我是想说 abc 这个函数是 经常要用的 每次进 函数都分配里面的参数 我觉得 还不如 把这些参数 写到全局变量 里 每次 进函数 清理就是了 不用再分配空间之所以用 array [0..999] 是想说明 这个函数有很多 临时变量 对 堆 ZAI 不是很了解 有 愚昧的地方请多包涵 这种优化作用不是太大,有局部变量比没局部变量就多一句汇编码,请看函数汇编框架:push ebpmov ebp, espsub esp, 4000 // 多这一句汇编码,分配局部变量....pop ebp 另外就是,delphi函数中的变量虽然是在栈中分配比较快,但是这块空间可是没有初试化。如果你声明了个字符数组,那么你在第一次使用这个数组之前,数组中的内容不一定都是 0 ,所以用的时候要小心点。 操作access提示insert into语句的语法错误 怎么我的程序在没有安装dephi的机器上无法运行啊 我的自动编号代码在出现在了问题?? 如何不用设置数据库别名,可以运行系统? 那儿有DELPHI6\7的最新补丁下载? 串口通信问题!高手请进!!! 关于断点非常郁闷的问题!!大狭们求救了 求助!!!! 搞了一中午也没有搞出来请高手帮我啊????????在线 关于菜单 怎样获取乱动的窗口句柄 delphi 中,如何向用指令向dbgrid中正常编辑列的光标后插入一个字符
你可能没理解我的意思
我是想说 abc 这个函数是 经常要用的 每次进 函数都分配里面的参数 我觉得 还不如 把这些参数 写到全局变量 里 每次 进函数 清理就是了 不用再分配空间
之所以用 array [0..999] 是想说明 这个函数有很多 临时变量 对 堆 ZAI 不是很了解 有 愚昧的地方请多包涵
mov ebp, esp
sub esp, 4000 // 多这一句汇编码,分配局部变量....pop ebp
如果你声明了个字符数组,那么你在第一次使用这个数组之前,数组中的内容不一定都是 0 ,所以用的时候要小心点。