代码之家  ›  专栏  ›  技术社区  ›  sharptooth

C++编译器能自动消除重复代码吗?

  •  6
  • sharptooth  · 技术社区  · 15 年前

    代码重复 is usually bad 而且往往很容易被发现。我认为编译器可以在最简单的情况下自动检测到它——他们已经分析了文本并得到了以各种方式分析的中间表示——检测可疑的模式,如未初始化的变量、优化发出的代码等。我猜他们通常也可以用这种方式检测功能上重复的代码,并且在发出机器代码的同时,为它输入NT。

    是否有C++编译器可以检测重复代码,而只发射对应的机器代码一次,而不是源代码中的每个副本?

    4 回复  |  直到 15 年前
        2
  •  8
  •   jk.    15 年前
        3
  •  3
  •   Yogesh Arora    15 年前

    return value optimization function inlining http://en.wikipedia.org/wiki/Compiler_optimization

        4
  •  1
  •   Steve Townsend    15 年前