数值溢出处理

dhua_fj 2010-06-16 09:14:03
我用C++ Builder 6编译VCL时,老是提示数值溢出,程序中断执行,
里面有关闭溢出检测开关,但是在BCB6下无效,请问该如何处理?谢谢

class function TSuperAvlEntry.Hash(const k: SOString): Cardinal;
var
h: cardinal;
i: Integer;
begin
h := 0;
{$Q-}
for i := 1 to Length(k) do
h := cardinal(h*129 + ord(k[i]) + $9e370001);
{Q+}
Result := h;
end;
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
frtrnr 2011-10-02
  • 打赏
  • 举报
回复
遇到了同样的问题,就搜索到了这里

方案:

将遇到Cardinal的地方改为Int64
dhua_fj 2010-06-17
  • 打赏
  • 举报
回复
这段是delphi的VCL代码,
里面有临时关闭数值溢出检测的代码
{$Q-}
{$Q+}
但是在BCB6下面无效,还是提示数值溢出错误,程序中断,
该如何处理使这段代码在BCB6下也能实现临时关闭数值溢出检测?
周药师 2010-06-17
  • 打赏
  • 举报
回复
没看懂lz要表达什么意思
CppFile 2010-06-16
  • 打赏
  • 举报
回复
delphi代码不懂。。不过为什么要用bcb编译pascal代码呢?要安装控件吗?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧