这个问题很简单。假设我编译并链接此代码:
static char const *foo() { static char const *baz = "0123456789ABCDEF"; return baz; }
static char const *(*bar)() = foo;
int main() { return 0; }
Visual C++ 编译器或链接器似乎自动将字符串标记baz
为已使用并包含它,即使它显然从未使用过(尽管foo
' 的地址已被占用)。
有什么方法可以使编译器或链接器避免包含实际未使用的此类代码?