我们的团队多年来一直在嵌入式高字节优先CPU (10+)上管理代码库。在这个嵌入式代码的开发和维护过程中,我们通常不会考虑字节序问题。
很快,我们将把这个代码库从大端CPU转移到小端CPU。
我们很好奇是否有人有任何特定的静态分析或其他工具的经验,以帮助这种过渡。我们确实找到了英特尔提供的这份有用的白皮书来帮助我们入门:
http://www.intel.com/design/intarch/papers/endian.pdf
谢谢!
发布于 2010-08-08 22:17:26
代码完整性解决方案的同事Carl Ek最近为Dobbs博士写了一篇名为“使用静态分析工具检测字节顺序问题”的文章:http://www.drdobbs.com/windows/226000073。
发布于 2010-08-09 14:56:17
实际上,我在文章中没有提到任何特定的工具。它的目的是给读者一些关于如何处理这个问题的想法。英特尔论文中的一般规则很好,但是,它们非常通用,因此可能会遗漏许多可以在对单个客户的代码库和编码标准规则进行自定义检查时强制执行的特定内容。Intel论文中的这些检查(大部分)可以在Coverity的Static Analysis SDK和Klocwork的Checker Studio中实现。我确信Semantic Designs' DMS 在这个检测中也是非常有效的:)。拥有静态分析工具的可扩展性是非常重要的:编码问题可能非常微妙,任何开箱即用的检测都可能非常嘈杂。具有流/路径敏感分析也是可取的,因为端序处理通常可以/受到基于(可能)静态可分析/可检测条件的保护/条件的保护。--卡尔
发布于 2010-10-27 22:51:33
Klocwork在其最新版本中引入了字节顺序分析(披露:我在那里工作)。完整的过程间分析,以确保在从网络或主机发送/接收时存在转换点。这里的技术白皮书更详细地解释了它。
http://www.klocwork.com/resources/endian-deadlock-multicore-challenges/
祝你好运!-Brendan
https://stackoverflow.com/questions/3426834
复制相似问题