CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 37647
王中王
:
不可能,领导的设计好,就是好来就是好,不可能有错,你在诋毁伟大英明的领导
[阅读: 383] 2004-10-25 09:01:58
<空>
相关信息:
c语言问题
(242字)
(
老玉米
[514]
2004-10-25 08:07
)
就是free或者delete后也不可能成立吧
(空) (
fujianbin
[373]
2004-10-25 08:09
)
我就是没看懂这句话什么意思,可是这个条件从日志里看确实成立过,困惑。。。
(236字)
(
老玉米
[453]
2004-10-25 08:11
)
搞不懂
(54字)
(
fujianbin
[363]
2004-10-25 08:15
)
(&(IdxPtr->Block->Free)==NULL || &(IdxPtr->Block->Handle)==NULL)
(324字)
(
王中王
[417]
2004-10-25 08:49
)
部队,你没仔细看,两个条件是一回事。
(空) (
老玉米
[369]
2004-10-25 09:00
)
顶,c高手都来看看。
(空) (
老玉米
[367]
2004-10-25 08:13
)
C不懂,LINK_HANDLE是什么?是否也是个指针
(空) (
tweety
[546]
2004-10-25 08:17
)
不是,是一个结构阿。
(781字)
(
老玉米
[525]
2004-10-25 08:20
)
或许某处有&(Block->Free) = NULL的操作呢
(空) (
王中王
[373]
2004-10-25 08:22
)
这么做是不是太BT了?
(空) (
fujianbin
[377]
2004-10-25 08:22
)
这个表达式合法吗,有点怀疑。
(空) (
老玉米
[376]
2004-10-25 08:24
)
合法
(11字)
(
fujianbin
[378]
2004-10-25 08:26
)
靠啊,试了半天,就是没有执行到那个条件里面
(12字)
(
fujianbin
[418]
2004-10-25 08:23
)
我倒觉得这个表达式正常情况下应该成立才对,除非Block指针的值是负的。
(空) (
王中王
[370]
2004-10-25 08:31
)
我的意思是如果Block值为某个负值,那么(&(Block->Free)==NULL有可能成立
(空) (
王中王
[358]
2004-10-25 08:33
)
应该不会为负值吧?
(18字)
(
fujianbin
[393]
2004-10-25 08:35
)
人笨不能怪社会
(115字)
(
王中王
[385]
2004-10-25 08:37
)
这时候也不成立吧?
(空) (
fujianbin
[317]
2004-10-25 08:42
)
显示每次都是“OK”
(213字)
(
fujianbin
[380]
2004-10-25 08:44
)
你这种情况下P要等于0才成。
(空) (
王中王
[349]
2004-10-25 08:50
)
也没用
(空) (
fujianbin
[300]
2004-10-25 09:04
)
否则不管Block为NULL还是其它的值,(&(Block->Free)都不等于NULL.这和有没有malloc无关
(空) (
王中王
[411]
2004-10-25 08:36
)
!
(空) (
fujianbin
[297]
2004-10-25 08:36
)
& 是取地址,还是在做位运算?
(空) (
DelphiFans
[436]
2004-10-25 08:36
)
(&(IdxPtr->Block->Free)==NULL || &(IdxPtr->Block->Handle)==NULL)
(324字)
(
王中王
[351]
2004-10-25 08:51
)
算了,肯定是代码不严谨,有一个环节没对指针memset 0造成的这种奇怪的表达式。
(11字)
(
老玉米
[449]
2004-10-25 08:57
)
这段代码台垃圾了,不过我揪出一个大bug..
(13字)
(
老玉米
[406]
2004-10-25 08:59
)
不可能,领导的设计好,就是好来就是好,不可能有错,你在诋毁伟大英明的领导
(空) (
王中王
[382]
2004-10-25 09:01
)
好个屁,这个bug隐藏忒深。
(11字)
(
老玉米
[314]
2004-10-25 09:04
)
人都有犯错误的时候
(10字)
(
王中王
[347]
2004-10-25 09:06
)
我估计原来是没有这个IF的,可能是其它模块没有初始化好造成这里偶尔会指针错,写代码的人又不想去刨根问底,就直接写个IF避免一下,省事
(空) (
王中王
[427]
2004-10-25 09:00
)
实际上是IdxPtr->Block没有memset造成的。
(空) (
老玉米
[366]
2004-10-25 09:01
)
IdxPtr可能指向为定义的内存区。
(空) (
老玉米
[351]
2004-10-25 09:03
)
就是MemSet了,IdxPrt->Block->Free也是不为NULL的。
(116字)
(
王中王
[464]
2004-10-25 09:05
)
靠,要是memset了,各本不需要些这么古怪的表达式。
(21字)
(
老玉米
[363]
2004-10-25 09:07
)
所以说按正常的逻辑这是Bug造成的。不过它本身也是个Bug
(空) (
王中王
[329]
2004-10-25 09:09
)
好了,不是我理解能力问题,鄙视写代码的人,
(空) (
老玉米
[374]
2004-10-25 09:05
)
没错,写这种隐晦的代码的人就有病。
(空) (
玉楼
[305]
2004-10-25 09:30
)
我的理解
(101字)
(
玉楼
[358]
2004-10-25 09:33
)
不等效,如果Block为NULL,&(Block->free)等于sizeof(Block->Handle)
(空) (
王中王
[331]
2004-10-25 09:40
)
哦?会有这种效果
(空) (
玉楼
[327]
2004-10-25 11:07
)
瞎扯把
(空) (
老玉米
[323]
2004-10-25 12:18
)
不对,实际上是为定义指针的问题。
(空) (
老玉米
[356]
2004-10-25 09:43
)
仔细看一下
(33字)
(
坏鼠标
[348]
2004-10-25 11:24
)
靠,现在怎么高手这么多
(空) (
老玉米
[289]
2004-10-25 12:16
)
这个语句编译不会错,运行时如果block分配过就相当于if(false){}
(46字)
(
bjwf
[428]
2004-10-25 12:21
)
靠!Free是个字段,判断一下又不会死,有什么问题?
(空) (
foxgrey
[349]
2004-10-26 01:57
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录