VS C++;死码消除 我有一个C++ 2010的小项目,它使用了几个静态链接库(.LIB文件)。

VS C++;死码消除 我有一个C++ 2010的小项目,它使用了几个静态链接库(.LIB文件)。,c++,visual-studio-2010,static-linking,dead-code,C++,Visual Studio 2010,Static Linking,Dead Code,此选项处于启用状态:OPT:REF、OPT:ICF、/GL、GR- 当我将未使用的方法添加到使用静态库中的一些代码的类中时,编译器会生成更大的代码(即在最终可执行文件中包含此方法) 为什么??我做错了什么?可能是虚拟的吗?只是好奇。(这不是为什么要首先添加未使用的代码,因为我相信您有自己的扭曲原因)。好的,这段代码驻留在一个共享类文件中,由多个项目使用,这就是为什么我需要消除死代码。方法不是虚拟的,只是普通的公共方法。您对.exe(或.dll)大小有什么特别的原因吗?我们谈论的尺码差异有多大?几

此选项处于启用状态:OPT:REF、OPT:ICF、/GL、GR-

当我将未使用的方法添加到使用静态库中的一些代码的类中时,编译器会生成更大的代码(即在最终可执行文件中包含此方法)


为什么??我做错了什么?

可能是虚拟的吗?只是好奇。(这不是为什么要首先添加未使用的代码,因为我相信您有自己的扭曲原因)。好的,这段代码驻留在一个共享类文件中,由多个项目使用,这就是为什么我需要消除死代码。方法不是虚拟的,只是普通的公共方法。您对.exe(或.dll)大小有什么特别的原因吗?我们谈论的尺码差异有多大?几K?10万?1MB或更多?只是好奇…差别大约是200 kb。。。这只是好奇,不能理解编译器为什么这样做:\其他选项可能会发生冲突,/Gy可以关闭(默认情况下,它是由类声明中定义的成员函数关闭的),类可以导出——太多的事情要考虑。