美文网首页
gcc与clang对统一程序编译后运行结果不一致的排查方法

gcc与clang对统一程序编译后运行结果不一致的排查方法

作者: 怎么肥四啊 | 来源:发表于2018-10-25 20:46 被阅读0次

    最近在工作中遇到一个比较奇怪的现象,同样的一段程序,使用gcc与clang进行编译,最后的运行结果却不一致。
    当时真是一脸懵逼,不知道咋搞了。后来老板告诉了一个方法,特意在此把它记录下来,方便以后查阅。

    1. 用gcc和clang分别编译一套代码,依次替换.o文件,如依次用gcc编译出的.o文件替换clang编译出的.o文件,对替换后的运行结果,查看结果是否一致。这也可以确定出是由哪一个文件导致的差异。接下来需要确定具体哪个方法导致结果出现差异。

    2. 将文件中的方法通过二分法的方式,分别在两个文件中实现,分别用gcc和clang编译编译这两个文件,替换后观察结果。从而最终确定是哪个方法导致了结果出现偏差。

    相关文章

      网友评论

          本文标题:gcc与clang对统一程序编译后运行结果不一致的排查方法

          本文链接:https://www.haomeiwen.com/subject/neectqtx.html