[英]Unused classes removed
我有以下代碼:
namespace rm {
namespace lib {
class Object {
public:
Object() {printf("Hi\n");}
};
}
}
現在我想使用g++ -Wall -Wno-unused -Werror -fPIC -g -Iinclude/ -c -O0 -o object.o object.cpp
和g++ --shared -o librm.so object.o
將類編譯為共享庫g++ --shared -o librm.so object.o
。 編譯沒有問題,但是使用nm librm.so | c++filt
檢查生成的庫后nm librm.so | c++filt
nm librm.so | c++filt
, rm::lib::Object::Object()
找不到。 即使啟用了-Wextra,GCC也不會發出警告。
G ++版本是(Raspbian 4.9.2-10)4.9.2
在類中定義的代碼被隱式標記為inline
(並且不使用),因此不會保存在文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.