在大型VS解决方案(200个VC项目)中使用此开关可以获得什么?
据我所知,这主要影响产生的二进制文件的大小; 但除了较小的二进制文件之外,FLL还能帮助减少项目之间的依赖关系吗?
FLL通常如何影响构建时间?
我也很欣赏有关VC中FLL的有根据的解释.MSDN的解释非常简短.
LLVM中的comdat代表什么?您可以在这里找到来源:Comdata
源级程序表示(c++)的示例将非常有帮助。
如果您需要更多信息,请随时询问。我在 llvm 代码库的很多地方找到它,但我无法弄清楚它到底是什么,以及它的用途
感谢您的帮助!
我一直在尝试通过MSDN页面阅读各种优化标志.
我们目前的大多数项目都设置/O2为"最大化速度".
我的困惑是这究竟是什么意思.关于/O2国旗,下列哪一项陈述更接近真实?
我提出我们应该使用/Ox旗帜的论点,但那时我认为选项2是真的.
我基本上被告知"我们不会改变/O2,/Ox除非有人有确凿的证据证明我们需要这样做".
所以我的问题是/O2仍然执行内存优化?例如,返回值优化,复制省略等.从切换/O2到/Ox?
c++ optimization performance compiler-optimization visual-studio-2013
假设我有
Base.h
class Base
{
virtual void foo() {...}
};
Derived1.h
class Derived1 : public Base
{
virtual void foo() {...}
};
Derived2.h
class Derived2 : public Base
{
virtual void foo() {...}
};
Run Code Online (Sandbox Code Playgroud)
标题Derived1.h包含在多个源文件中,Derived1类也通过Base接口使用.由于foo是virtual和使用polymorphic它不能内联.所以它将被编译成多个obj文件.接着如何解决这种情况呢?
c++ ×3
linker ×2
optimization ×2
llvm ×1
llvm-c++-api ×1
llvm-clang ×1
llvm-ir ×1
performance ×1
polymorphism ×1
visual-c++ ×1