美文网首页
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对统一程序编译后运行结果不一致的排查方法

    最近在工作中遇到一个比较奇怪的现象,同样的一段程序,使用gcc与clang进行编译,最后的运行结果却不一致。当时真...

  • LLVM 和 Clang 浅谈

    LLVM 是什么?对标GCC在编译时、链接时、运行时甚至是在闲置时优化程序的编译器 Clang 是什么?LLVM自...

  • Linux GLIBC的版本问题

    在高版本的GCC编译的程序,在低版本的系统上运行,经常会出现类似问题: clang: /lib64/libc.so...

  • Clang的使用

    Clang产生的历史背景 在clang之前,苹果曾使用GCC作为OC的编译器。 GCC:GCC(GNU Compi...

  • GCC/Clang编译器浅谈

    GCC和Clang编译器浅谈GCC是Linux上使用的编译器,Clang是Mac上使用的编译器,两者命令格式基本相...

  • 编译与链接

    编译与链接 代码运行背后的过程 经典C语言程序: Linux下,使用gcc来编译这个程序,进入命令行输入: 可以看...

  • linux 多线程 下载 aria2

    1 编译安装 升级 gcc Aria2 1.17.1以上版本要求gcc >= 4.8.3 or clang >= ...

  • gcc

    gcc & clang GCC:GNU(Gnu's Not Unix)编译器套装(GNU Compiler Co...

  • 安装带有gold-plugin的LLVM

    前言 众所周知,C语言编译器中,Clang比GCC编译速度更快,编译产出更小,出错提示更友好,所以能用Clang当...

  • iOS App编译和启动原理

    编译原理: 将编译过程分为前端和后端两部分处理 Clang(编译器前端):GCC的替代品,Clang的编译速度比G...

网友评论

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

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