"cc" clobber ignored 对于下面提到的代码中的函数调用 htons() 和 ntohs()? lSocketAddr.sin_port = ht-6ren">
gpt4 book ai didi

覆盖率警告 : :"cc" clobber ignored for htons() and ntohs()

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:47 25 4
gpt4 key购买 nike

为什么Coverity会产生警告

> "cc" clobber ignored

对于下面提到的代码中的函数调用 htons() 和 ntohs()?

lSocketAddr.sin_port = htons(kUDPServerPort);

我用谷歌搜索发现此警告也出现在英特尔编译器链中。 “cc”clobber ignored 是什么意思?这是否意味着 htons() 和 ntohs() 不应该用于安全编程?有解决警告的方法吗?是否有替代的 api htons() 和 ntohs()?

系统配置:

  1. 覆盖率 5.3
  2. 红帽 6
  3. 海湾合作委员会版本 4.4.5

最佳答案

我相信这意味着该函数被标记为破坏 conditions flags 的函数在处理器中,但此标记被忽略。

This commit到 OpenViz 显示正在添加的“cc”破坏者,它是内联 asm 语句的参数,它看起来像这样:

asm("bsch %2,%0" : "=r"(bit) : "0"(0), "r"(x & -x) : "cc");
^
|
hello!

不太确定为什么会生成警告,也许 Coverity 试图传达有问题的函数包含这样的 asm,但它不能在其中考虑“cc”信息分析?

我认为没有理由根据这个警告放弃函数,这个警告看起来相当“元”,不是关于代码本身,而是关于 Coverity 对代码的处理。

注意:我从未使用过 Coverity。

关于覆盖率警告 : :"cc" clobber ignored for htons() and ntohs(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16793286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com