- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
"cc" clobber ignored 对于下面提到的代码中的函数调用 htons() 和 ntohs()? lSocketAddr.sin_port = ht-6ren">
为什么Coverity会产生警告
> "cc" clobber ignored
对于下面提到的代码中的函数调用 htons() 和 ntohs()?
lSocketAddr.sin_port = htons(kUDPServerPort);
我用谷歌搜索发现此警告也出现在英特尔编译器链中。 “cc”clobber ignored 是什么意思?这是否意味着 htons() 和 ntohs() 不应该用于安全编程?有解决警告的方法吗?是否有替代的 api htons() 和 ntohs()?
系统配置:
最佳答案
我相信这意味着该函数被标记为破坏 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/
int main() { uint8_t var = 9; var = ntohs(var); printf("var=%u",var) } 这段代码在 Little End
这个程序应该从离线转储文件中捕获一个数据包并对其进行解码。在这里我遇到了 ntohs() 函数的问题(它接近尾声,标题描述在开头)。为什么它不起作用?操作系统 win7 x86,VS 2010 exp
我有一个.cpp 文件:htonstest.cpp。我使用 g++ 编译它: $ g++ -o test htonstest.cpp 它有效,程序 ./test 也有效。 但是,当我使用 automa
我有一个程序一直依赖于 native::io::net::{htons, ntohs} 但现在在 Could not find 'io' in 'packet: :native'。变化似乎发生在上周的
我正在从 DNS 服务器获取一些数据,我正在尝试将某个部分转换为无符号整数(代表刷新间隔、到期时间等)。通过转换,我的意思是从大端到小端。问题是 ntohs 只放置了 2 个字节的数据而不是 4 个字
当我从 stringstream 读取数据时,我有一个关于如何使用 ntohs() 的问题。 对于下面的代码: read(ns, buf_receive, BUFFER_SIZE); stringst
我正在编写一个 ELF 分析器,但我在正确转换字节顺序时遇到了一些问题。我具有确定分析器的字节序和目标文件的字节序的函数。 基本上,有四种可能的情况: 在大端目标文件上运行的大端编译分析器 无需转换
我从一个答案中阅读了文档: ntohs 函数采用 TCP/IP 网络字节顺序(AF_INET 或 AF_INET6 地址族)的 16 位数字,并以主机字节顺序返回一个 16 位数字。 请举例说明,什么
要从另一台大端机器转换字节数组,我们可以使用: long long convert(unsigned char data[]) { long long res; res = 0; for(
我们正在将 C 语言的遗留代码重写为 C++。在我们系统的核心,我们有一个连接到 master 的 TCP 客户端。主人将不断地流式传输消息。每个套接字读取都会产生 N 条格式为 {type, siz
C# 中是否有网络到主机的转换函数?谷歌搜索并没有找到太多。 :P 最佳答案 IPAddress.HostToNetworkOrder和 IPAddress.NetworkToHostOrder ?
为什么Coverity会产生警告 > "cc" clobber ignored 对于下面提到的代码中的函数调用 htons() 和 ntohs()? lSocketAddr.sin_port = ht
我需要在可能位于不同平台的服务器和客户端之间发送一个枚举缓冲区。 但是枚举的大小取决于平台,我应该调用哪个函数? (htons() 或 htonl()),例如以下枚举: typedef enum f_
我不确定为什么 htons 和 ntohs 都存在于标准库中。他们做的事情完全一样——除非我有点困惑! htonl 和 ntohl 也是如此。 最佳答案 它们提供自文档化代码,告诉读者数据是按主机顺序
我正在使用现有代码,它通过 TCP 连接传递数据 - union ibv_gid 而不转换字节顺序。里面有注释:“gid会逐字节传输,所以不需要做”hton“。代码是正确的,可以工作,但我不明白为什么
我正在为一个不是 hton 数据的协议(protocol)编写一个 Wireshark 解析器插件,我需要在不进行任何字节序转换的情况下提取 64 位数据值。 Wireshark 库中是否有不执行 n
我正在尝试将整数值写入/从 C 套接字读取。有时 ntohs() 会返回非常大的值,例如 55000 、 32000 等...尽管客户端始终发送值 1500 ) { **printf
我对何时使用 ntohs 和 ntohl 感到很困惑。我知道何时将 ntohs 用于 uint16_t 和 ntohl uint32_t。但是那些具有 unsigned int 或指定了特定位数的那些
我是 C 网络编程的新手,我首先尝试将从键盘读取的数组发送到服务器。问题是,每当我从键盘读取数组的长度时,它都会增加 2/3,并且不再做任何正确的事情。例如: 我给出的长度或数组:2客户端将从键盘读取
这是一个 SSCCE ,显示了我的代码的简化版本,它仍然做了一些有用的事情: //Compile with -O3 -Wsign-conversion #include #include void
我是一名优秀的程序员,十分优秀!