- 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/
我正在 Windows 上运行具有多个作业 (-j4) 的 make。在构建结束时,我让 Jenkins 抓取控制台日志并收集编译器警告的数量和类型。问题(我认为)是多个 make 作业都具有相同的标
我对 DOM Clobbering 的话题有一些疑问: Portswigger 对此进行了解释: window.onload = function(){ let someObject =
我正在尝试内联汇编的示例:http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html但是有些东西让我对破坏感到困惑:
我在 VSCodium 中使用 git,每次我尝试 pull git 时都在提示。 查看我看到的日志 > git pull --tags origin master From https://gith
我试图理解为什么以下代码会生成“参数可能被破坏……”警告。这是一个最小的示例: #include extern char ** environ; int test_vfork(char **args
我觉得我快疯了。谁能帮忙? 我有文件夹 c:\project\bin我运行以下命令来执行我的 rake 脚本 cd C:\project rake 在我的抽佣脚本中我有: require 'rake/
我正在努力获取一些 x86 程序集以在 Core 2 Duo Mac 上进行编译。对于如下语句,使用 clang 会返回无效操作数错误: asm volatile ("subl %0,%%esp" :
如何从命令行更改 perforce 规范?我想要做的是,我有一个工作区,其 clobber 选项设置为 noclobber (默认值)。现在我想将其更改为 clobber。 我知道我可以直接从 p4v
我正在学习 ARM 内联汇编,并对一个非常简单的函数感到困惑:将 x 的值分配给 y (两者都是 int 类型),在arm32 和arm64 上为什么需要不同的clobber 描述? 这是代码: #i
我正在学习 ARM 内联汇编,并对一个非常简单的函数感到困惑:将 x 的值分配给 y (两者都是 int 类型),在arm32 和arm64 上为什么需要不同的clobber 描述? 这是代码: #i
来自关于 Extended ASM - Clobbers and Scratch Registers 的 GCC 文档我发现很难理解以下解释和示例: Here is a fictitious sum
为什么Coverity会产生警告 > "cc" clobber ignored 对于下面提到的代码中的函数调用 htons() 和 ntohs()? lSocketAddr.sin_port = ht
谁能告诉我“make clean”和“make clobber”之间的区别?我进行了搜索,但没有找到有用的答案。 最佳答案 这两个术语都没有固定的含义。 Makefile 作者创建目标并赋予它们人类可
我读到,如果我们在 clobber 列表中指定“cc”,则表示汇编代码修改了标志寄存器 编写了一个示例程序来检查添加“cc”和不添加之间的区别。 比较程序集,当我们添加“cc”时没有变化。 #incl
我阅读了有关 GCC 内联汇编器的文章(http://www.ethernut.de/en/documents/arm-inline-asm.html)。 在本文中,“内存”Clobber 强制编译器
正如这个问题的标题中提到的,当我出于临时原因修改 asm 语句中的一些寄存器时,在 clobber 和 dummy 输出之间哪个选项更好? 例如,我在 link 中实现了两个版本的交换功能, 并发现两
如果我使用 call 指令,通过 C++ 代码中的 GNU 内联汇编程序,调用一个我知道使用 __stdcall 约定的函数,我是否必须列出任何注册为破坏? 我在互联网上找不到很好的指导,但看起来 %
在推送到 heroku 时,我在预编译 Assets 时遇到了问题。特别是我目前代码中的一点点 javascript。根据我读到的一些东西,我尝试了 rake assets:clobber 然后再次预
我基本上确信我遇到了一些 g++ 4.8.3 错误,但我想我会先问这个列表,因为我对 setjmp/longjmp 的经验很少。我已将相关代码简化为以下 foo.cxx: #include #inc
在实现无锁数据结构和时序代码时,通常需要抑制编译器的优化。通常人们使用 asm volatile 和 clobber 列表中的 memory 来执行此操作,但有时您只会看到 asm volatile
我是一名优秀的程序员,十分优秀!