为什么编译出来的程序大小,release的会比debug的大近一倍?
先说一下release和debug编译选项不同的地方,如下:
debug:
CXXFLAGS += -D_DEBUG -O0 -gdwarf-2
CXXFLAGS += -Werror -Wextra -Wunreachable-code -Wsign-compare -Wfloat-equal -Wcast-align -Winline -Wcast-qual -Wundef -Wredundant-decls
release:
CXXFLAGS += -DNDEBUG -O2
各自经过G++编译后,发现debug的大约是162M,而release的却有253M
我一直的理解是release一定会 比debug小很多,结果有点意外
这是正常的么?是我一直的理解就是错误的么?
求解释!