0
從Makefile構建我的應用程序我發現從代碼中排除某些類及其使用對構建的應用程序的大小沒有影響。在編譯期間包含未使用的代碼
// some file
// #include "SomeClass.h"
.......
void myfunc()
{
SomeClass _cl;
// do something with _cl etc...
// _cl.SomeFunc();
.........
}
Makefile
......
SOURCES = ... SomeClass.cpp .... etc
但是,如果我從Makefile中刪除SomeClass.cpp,那麼構建的應用程序的大小真的變得更小。爲什麼gcc不優化已編譯的代碼並且不會從最終結果中排除未使用的SomeClass?
你使用了哪些編譯器標誌? – systemcpro
不知道我是否在你的情況下有所作爲,但嘗試編譯器標誌'-Os'來優化大小。沒有lto gcc的 – Klaus
無法判斷你的類是否被另一個編譯單元使用。 – bolov