質問はとても簡単です。このコードをコンパイルしてリンクするとしましょう:
static char const *foo() { static char const *baz = "0123456789ABCDEF"; return baz; }
static char const *(*bar)() = foo;
int main() { return 0; }
Visual C++ コンパイラまたはリンカは、文字列が使用済みとして自動的にマークされ、使用されていないことは明らかですが (アドレスが baz
使用されているにもかかわらず)、文字列を含めます。foo
実際に使用されていないこのようなコードをコンパイラまたはリンカーに含めないようにする方法はありますか?