编译告警“warning: this decimal constant is unsigned only in ISO C90”

来源:互联网 发布:黑暗之魂2网络延迟 编辑:程序博客网 时间:2024/05/11 21:00


产生告警的代码如下:

status = PerEnConstrainedUnsigned(ptCurCtx,ptVal->count_Uplink,0,4294967295);

函数PerEnConstrainedUnsigned的声明如下:

ASN1STATUS PerEnConstrainedUnsigned(Asn1Ctxt* ctxt, ASN1UINT value, ASN1UINT lower, ASN1UINT upper)

告警发生的原因:

C语言里面的常量默认是一个32位的有符号整型数。
对于4294967295,由于无法用32位的有符号整型数表示,所以会报警告。

解决方法是这样:

status = PerEnConstrainedUnsigned(ptCurCtx,ptVal->count_Uplink,0,4294967295UL);


0 0
原创粉丝点击