相关疑难解决方法(0)

功能级链接(VC++中的/ Gy开关) - 有什么用?

在大型VS解决方案(200个VC项目)中使用此开关可以获得什么?

据我所知,这主要影响产生的二进制文件的大小; 但除了较小的二进制文件之外,FLL还能帮助减少项目之间的依赖关系吗?

FLL通常如何影响构建时间?

我也很欣赏有关VC中FLL的有根据的解释.MSDN的解释非常简短.

c++ optimization linker visual-c++

21
推荐指数
1
解决办法
9682
查看次数

什么是 LLVM Comdat?

LLVM中的comdat代表什么?您可以在这里找到来源:Comdata

源级程序表示(c++)的示例将非常有帮助。

如果您需要更多信息,请随时询问。我在 llvm 代码库的很多地方找到它,但我无法弄清楚它到底是什么,以及它的用途

感谢您的帮助!

llvm llvm-clang llvm-ir llvm-c++-api

9
推荐指数
1
解决办法
2196
查看次数

Visual Studio 2013优化标志(/ O2 vs/Ox)

我一直在尝试通过MSDN页面阅读各种优化标志.

我们目前的大多数项目都设置/O2为"最大化速度".

我的困惑是这究竟是什么意思.关于/O2国旗,下列哪一项陈述更接近真实?

  1. 优化速度和大小的代码,但是如果存在争用优选速度优化
  2. 针对速度优化代码,不针对大小进行优化.

我提出我们应该使用/Ox旗帜的论点,但那时我认为选项2是真的.

我基本上被告知"我们不会改变/O2,/Ox除非有人有确凿的证据证明我们需要这样做".

所以我的问题是/O2仍然执行内存优化?例如,返回值优化,复制省略等.从切换/O2/Ox

c++ optimization performance compiler-optimization visual-studio-2013

7
推荐指数
2
解决办法
5849
查看次数

链接器如何处理多个头文件中定义的虚函数?

假设我有

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接口使用.由于foovirtual和使用polymorphic它不能内联.所以它将被编译成多个obj文件.接着如何解决这种情况呢?

c++ polymorphism linker

0
推荐指数
1
解决办法
409
查看次数